gpt4 book ai didi

java - Exceptions 与 throws 子句不兼容的原因是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:39:30 26 4
gpt4 key购买 nike

谁能告诉我异常的原因是什么,而不是与“throws”子句兼容

例如:

class Sub extends Super{

@Override
void foo() throws Exception{

}

}

class Super{

void foo() throws IOException{

}
}

异常异常与 Super.foo() 中的 throws 子句不兼容

最佳答案

没有完整的代码示例,我只能猜测:您正在重写/实现子类中的方法,但子类方法的异常规范与父类(super class)/接口(interface)的异常规范不兼容(即不是子类的子集)方法?

如果基方法被声明为完全不抛出异常,或者例如java.io.IOException(这是 java.lang.Exception 的子类,您的方法试图在此处抛出)。基类/接口(interface)的客户端希望其实例遵守基方法声明的契约,因此从该方法的实现中抛出 Exception 会破坏契约(和 LSP )。

关于java - Exceptions 与 throws 子句不兼容的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10513374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com