【发布时间】:2013-03-10 14:59:22
【问题描述】:
考虑FindBugs error desriptions的以下内容
NP:保证会取消引用 Null 值 (NP_GUARANTEED_DEREF)
有一个语句或分支,如果被执行保证一个 值此时为空,并且该值保证为 取消引用(涉及运行时异常的正向路径除外)。
请注意,例如 if (x == null) throw new 这样的检查 空指针异常();被视为 x 的取消引用。
在涉及运行时异常的正向路径上除外是什么意思?
还有为什么像if (x == null) throw new
NullPointerException(); 这样的检查会引发警告?
【问题讨论】:
-
改为抛出 InvalidArgumentException
-
可能:除非在执行路径之前抛出另一个运行时异常?
-
不是说
x在比较的时候保证是null,所以比较是多余的?
标签: java null nullpointerexception static-analysis findbugs