我在这段代码中得到 NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE
final Integer id = Ints.tryParse(idString);
FailReason.NO_SUCH_THING.checkCondition(id!=null);
something.setId(id.intValue());
在这里,checkCondition
就像Preconditions.checkArgument 一样工作除了它抛出我自己的异常。在这里抛出 NPE 或 IAE 是不合适的,因为它正在检查外部输入而不是编程错误。
FindBugs 提示 “方法的返回值在没有进行 null 检查的情况下被取消引用,并且该方法的返回值通常应该检查是否为 null。这可能会导致 NullPointerException,当代码是执行。”
我可以教 FindBugs 当参数为 false
时 checkCondition
永远不会正常返回吗?
最佳答案
我(有点)通过添加解决了它
assert id!=null;
它是多余的和丑陋的,但仍然没有 @SuppressFBWarnings
丑陋,而且更本地化。
关于java - 摆脱 NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746395/