use*_*231 1 java overriding exception
我试图覆盖一个方法,抛出异常:
class A {
public doSomething(){
// some of logic
}
}
class B extends A {
public doSomething() throws MyCustomizedException {
try {
// some of logic
} catch(ExceptionX ex ) {
throw new MyCustomizedException(" Some info ", ex);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个编译时错误:
Exception MyCustomizedException is not compatible with throws clause in A
Run Code Online (Sandbox Code Playgroud)
这两个限制是:
我该怎样摆脱异常?
非常感谢.
无法做到.
覆盖方法时,不能破坏原始合同并决定抛出已检查的异常.
你可以MyCustomizedException取消选中.您可以抛出它,但不能要求用户以检查异常的方式处理它.您可以做的最好的事情是将其添加到javadoc并解释.
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |