在决定是向方法添加throws子句还是使用try-catch时,一般的经验法则是什么
据我所知,throws应该在调用者违反约定(传递的对象)时使用,而try-catch应该在方法内部执行的操作过程中发生异常时使用。这是正确的吗?如果是这样的话,调用方应该做些什么?
附言:通过谷歌搜索过了,所以我想要一个明确的答案。
发布于 2010-07-08 20:06:00
发布于 2010-07-08 20:05:18
通常,当一个方法不能在本地处理相关的问题时,它应该向它的调用者抛出一个异常。例如,如果假设该方法从具有给定路径的文件中读取数据,则无法以合理的方式在本地处理IOExceptions。这同样适用于无效输入,并补充说,我个人的选择是抛出一个未经检查的异常,比如本例中的IllegalArgumentException。
如果出现以下情况,它应该从被调用的方法中捕获异常:
DAO使用Hibernate来持久化我的实体,因此我在本地捕获所有HibernateExceptions并将它们转换为我自己的异常类型)。发布于 2010-07-08 20:15:25
下面是我使用它的方法:
抛出:
捕获Try-:
如果您想要向最终用户提供有意义的错误,则可以使用不同的errors.
我知道很多人总是使用投掷,因为它更干净,但几乎没有那么多的控制力。
https://stackoverflow.com/questions/3203297
复制相似问题