NPE.STAT

NullPointerException は、NULL 値を逆参照しようとした場合にスローされます。この逆参照は、関数呼び出し、フィールドの読み取りまたは作成、または配列アクセスなどがあります。NPE.STAT は、メソッドのソースコードが使用できないにもかかわらず、統計情報ではそのメソッドが NULL を返す可能性があることを示している場合、メソッド呼び出しの結果が逆参照される場合に報告されます。統計情報は、メソッドから返される値に NULL チェックを適用するために収集されます。

例 1

コピー
     public void printAbsoluteParentPath() {
         final File parent = f.getParentFile();
         if (parent != null) {
             String absolutePath = parent.getAbsolutePath();
             System.out.println("absolute path " + absolutePath);
         }
     }
 
     public void printCanonicalParentPath() throws IOException {
         final File parent = f.getParentFile();
         if (parent != null) {
             String canonicalPath = parent.getCanonicalPath();
             System.out.println("canonical path: " + canonicalPath);
         }
     }
 
     public void printParentPath() throws IOException {
         String path = f.getParentFile().getPath();
         System.out.println("path " + path);
     }

NPE.STAT が 39 行目に対して報告されています。'getParentFile()' によって返される値は、通常、逆参照前に NULL チェックが行われ、NPE の可能性があるためです。

関連チェッカー

セキュリティトレーニング

Secure Code Warrior が提供しているアプリケーションセキュリティトレーニング教材。

拡張機能

このチェッカーは、Klocwork knowledge base (ナレッジベース) を利用して拡張できます。詳細については、Java 解析のチューニングを参照してください。