NPE.COND
如果尝试取消引用 null 值,将引发 NullPointerException。取消引用可以是函数调用、字段读取或写入,或数组访问。如果之前对某个本地变量进行了空值检查,并且经检查确认其值可能为空,则对其取消引用就会报告 NPE.COND 错误。
示例 1
复制
static void printPoint(Point p) {
if (p == null) {
System.err.println("p is null");
}
if (p.x < 0 || p.y < 0) {
System.out.println("Invalid point");
return;
}
System.out.println(p);
}
针对第 19 行报告 NPE.COND,因为在此处取消引用 p,而根据第 16 行的检查,p 可能为 null。
相关检查器
外部指导
扩展
此检查器可通过 Klocwork 知识库进行扩展。有关详情,请参阅调整 Java 分析。