在决定是向方法添加 throws
子句还是使用 try-catch
时,一般的经验法则是什么?
根据我自己的阅读,当调用者违反契约(Contract)的结尾(传递的对象)时应该使用 throws
并且应该使用 try-catch
在方法内部执行的操作期间发生异常时使用。这个对吗?如果是这样,调用方应该怎么做?
P.S:通过 Google 和 SO 进行搜索,但希望对此有明确的答案。
最佳答案
- 只有在您能够以有意义的方式处理异常时才捕获异常
- 如果要由当前方法的使用者处理,则声明向上抛出异常
- 如果异常是由输入参数引起的,则抛出异常(但这些通常是未经检查的)
关于java - throw 或尝试接住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203297/