栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果捕获空指针异常不是一个好习惯,那么捕获异常是一个好习惯吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如果捕获空指针异常不是一个好习惯,那么捕获异常是一个好习惯吗?

宠物小精灵异常处理不好。特别是,如果这是一个空块,而您只是在吞下它们。您使用了特殊类型的异常,原因是它们实际上是在特定上下文中表示特定事物(实际上,它们是在告诉您出了什么问题)。因此,通过捕获

Exception
您是在说您不在乎那些异常是什么,并且您不在乎发生了什么。这可能不是您想要的。

通常,捕获异常时请遵循以下规则:

  • 在此级别处理异常是否有意义?如果是,则进行处理。如果不是,则传播。
  • 结合第一条规则,“处理”还可以表示捕捉,包裹和重新投掷。这是防止抽象泄漏的一种方法,这样您的方法的调用者不必知道底层实现。
  • 空的catch块并不意味着您已经处理了异常。这就是所谓的“吞咽”;至少,您要记录该异常。有时,发生异常实际上是代码逻辑流程的一部分,因此您可能需要做一些特殊的事情(但这是对双关语,而不是规则,请原谅。最好检查导致异常的情况而不是将它们合并到代码的逻辑流程中)。

您可以轻松地在代码中检查null值,因此无需显式捕获null指针异常。放任不管是没有道理的

NullPointerException
(这是不好的做法)。即使您有一些代码引发
NullPointerException
,并且您无法控制并且无法修复该代码,您也应该确定导致的输入参数,
NullPointerException
并专门对其进行测试。

您不应该捕获的另一个例外是

IllegalArgumentException
。此异常意味着您传入了没有意义的参数。代替捕获此异常,您应该显式测试输入参数,以确保它们是理智的并且不会引起
IllegalArgumentException



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437677.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号