プログラミング言語の一つであるJava言語の(実行時)例外クラス、java.lang.NullPointerException。
簡潔に言えば「null値の参照型変数を参照している」という例外。たとえばJava 5(J2SE 5.0)以上で有効なこのコード。
"".contains((java.lang.CharSequence)null);
これはStringクラスのJava7版Javadocに書いてあるとおりなのだが、そうでなくても普通にJavaプログラミングをしていると例外なくお目にかかる。あまりにもよく目にするため、しばしば「ぬるぽ」とか「NPE」などと縮めて呼ばれる*1。
プログラムの動作異常として「ぬるぽ」に出会った場合、原因究明に手間取り時間を浪費してしまうことが多い。そして、この例外が原因である場合には、とてもがっかりしてやる気を失ってしまうことがままある。
回避するためには、
などの方法が挙げられる。
同様のエラー(nullで表現されるメモリ空間へのアクセス)は他の言語でも*3発生する可能性があるので、そのオブジェクト変数(もしくはポインタ)がどのメモリ空間を指しているのかを意識しながらプログラムを行うのが重要である(メモリはどこで確保されて、誰が開放してくれるのか、など)。