捕获空指针异常是一种代码味道吗?

2023-12-30

最近,我的一位同事编写了一些代码来捕获整个方法周围的空指针异常,并返回单个结果。我指出空指针的产生可能有多种原因,因此我们将其更改为针对一个结果的防御性检查。

然而,捕获 NullPointerException 对我来说似乎是错误的。在我看来,空指针异常是错误代码的结果,而不是系统中预期的异常。

是否存在捕获空指针异常有意义的情况?


是的,抓住任何RuntimeException几乎总是有代码味道。这C2 Wiki http://c2.com/cgi/wiki?RuntimeException似乎同意。

一个例外可能是一些专门的防御性代码片段,它们运行来自其他模块的几乎随机代码。这种防御结构的例子是EDT http://en.wikipedia.org/wiki/Event_dispatching_thread、ThreadPools/Executors 和插件系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获空指针异常是一种代码味道吗? 的相关文章

随机推荐