513,926
社区成员
发帖
与我相关
我的任务
分享异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java 编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求必须声明抛出未被捕获的运行时异常。异常和继承一样,是面向对象程序设计中经常被滥用的东西,在 Effective Java 中对异常的使用给出了以下指导原则:
(1)不要将异常处理用于正常的控制流(设计良好的 API 不应该强迫它的调用者为了正常的控制流而使用异常)
(2)对可以恢复的情况使用受检异常,对编程错误使用运行时异常
(3)避免不必要的使用受检异常(可以通过一些状态检测手段来避免异常的发生)
(4)优先使用标准的异常
(5)每个方法抛出的异常都要有文档
(6)保持异常的原子性
(7)不要在 catch 中忽略掉捕获到的异常
作者:程序员追风
链接:https://juejin.cn/post/6844904015281520648
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。