maf*_*afu 28 java exception throws
我知道必须处理或指定已检查的异常,但未经检查的异常是可选的.
如果由于某种原因我可以合理地预期在方法中发生未经检查的异常,我应该将它添加到throws规范吗?或者我应该尽可能缩短规格?
das*_*ght 23
如果由于某种原因我可以合理地预期在方法中发生未经检查的异常,我应该将它添加到throws规范吗?
由于未经检查的异常表示编程错误,因此throws应避免在子句中声明它们.通常,除了程序的最高级别之外,不应尝试捕获这些异常.这个规则有一些例外(双关语) - 例如,在生产代码中你应该捕捉NumberFormatException.
注意:有时,框架的作者会使其基本异常继承RuntimeException(例如HibernateException).这样的例外情况也应该被捕获.
这是一个设计决定.通常你不会这样做.但是如果你认为代码的用户抓住它是至关重要的Exception,那么这是暗示他这样做的一种方式.另一种方法是将它添加到文档中,并解释为什么捕获它是很重要的Exception.
在 throws-clause 中显式声明是没有必要的,因为它是关于运行时异常的,但您应该在 javadoc 中记录它,以便用户可以了解在什么情况下可能会发生此异常以及它的含义。
| 归档时间: |
|
| 查看次数: |
10735 次 |
| 最近记录: |