在Java中,如果空指针很少发生,最好使用catch而不是if

Mar*_*tin 3 java android exception-handling nullpointerexception

清理我的Android应用程序中的一些松散我在开发人员控制台中发现了一个空指针异常,这种情况从来没有发生过,我猜这是一种罕见的竞争条件.

对于那些不知道的人:Android允许用户向开发人员报告崩溃(iE未捕获的异常).

if (… != null)当我遇到臭名昭着时,我已经开始输入臭名昭着:只有三份报告.所以它很少发生.

所以我想知道:在这种情况下,性能明智:捕获空指针异常会不会更好?

考虑到每次都会评估if.

Tud*_*dor 8

不要听起来像一个狂热或心胸狭窄的人,但我坚信NPE绝不应该被允许首先发生!在我看来,捕捉NPE是一种非常糟糕的做法.这意味着您并不完全了解代码的工作方式.

在使用某些输入之前,您应该始终做的第一件事是检查null.

  • 我甚至不仅要说'NPE`而且要说'RuntimeException`. (2认同)