假设我有以下代码:
public void methodOne(String argumentOne) {
methodOne(argumentOne, false);
}
public void methodOne(String argumentOne, boolean equality) {
//App logic here
}
如果应用逻辑引发异常(例如IllegalArgumentException / Parse Exception),并且我想在调用方方法中捕获此异常,则应在所有方法标识符中或仅在基本方法中添加“ throws IllegalArgumentException”标识符?有什么好处吗?
答案 0 :(得分:4)
引发已检查的异常意味着您希望调用者被迫考虑如何处理该异常。您仅应在以下情况下这样做:
因此,这是一个非常糟糕的主意
我更喜欢为未经检查的异常添加throws
子句,以此形式记录可能出错的内容及其含义,而不必强迫调用者处理这些异常。
此外,您应该尝试向每个“异常/错误”添加有意义的消息,以使开发人员更容易确定如何修复代码或配置。
我想在调用方方法中捕捉到这一点,应该在所有方法标识符中还是仅在基本方法标识符中添加“ throws IllegalArgumentException”?
仅将其添加到可以实际引发异常的方法中。