Fra*_*ner 18 java exception-handling exception
任何人都可以告诉我异常可能有什么原因,而不是与"throws"条款兼容
例如:
class Sub extends Super{
@Override
void foo() throws Exception{
}
}
class Super{
void foo() throws IOException{
}
}
Run Code Online (Sandbox Code Playgroud)
异常异常与Super.foo()中的throws子句不兼容
Pét*_*rök 27
如果没有完整的代码示例,我只能猜测:您在子类中重写/实现方法,但子类方法的异常规范与超类/接口方法的异常规范不兼容(即不是其子集)?
如果声明基本方法根本不抛出任何异常,或者例如java.io.IOException(这是java.lang.Exception你的方法的子类试图抛出这里),就会发生这种情况.基类/接口的客户端期望其实例遵守基本方法声明的契约,因此Exception从该方法的实现中抛出会破坏契约(和LSP).
| 归档时间: |
|
| 查看次数: |
22947 次 |
| 最近记录: |