检查是否为空是一种好的做法还是坏的做法?

我见过这样的代码,其中几乎所有应用层中的每个变量都被检查为不是null。我也看到过几乎没有这个的代码。

if(object != null){}
检查变量是否为空的最佳实践是什么?得到NullPointerException真的是一件坏事吗?这一切null检查是否可能是您的应用程序运行状况不佳的症状?


解决方案

最好显式检查是否为空,因为:

  • 您可以更早地捕获错误。
  • 您可以提供更具描述性的错误消息。
如果您得到NullPointerException,您可能无法准确计算出哪个变量为空。即使您有引发异常的行号,该行上可能仍有多个变量。

将这些检查放入您的公共界面中尤为重要。这是因为当您的用户提供了不正确的参数时,他们应该得到一个IllegalArgumentException,告诉他们他们犯了一个错误。如果他们只是返回NullPointerException,则无法确定他们提供的参数是否不正确,或者您的代码中是否存在错误。

相关文章