应该定义哪个自定义异常只能由一个方法抛出?如果我可以将它们写成本地课程,那将是完美的但是我不能抛弃它们,因为它们无法解析为类型...
提前致谢
答案 0 :(得分:1)
你可以声明你的异常内部类是静态的,这样你就可以在主类之外使用它了。
另一个解决方案是使用现有的常规异常类型之一,在“直接已知子类”下的所有异常列表:https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html
答案 1 :(得分:1)
将它们创建为定义该方法的嵌套类:
class MyClass {
void myMethod() throws MyCustomException {}
static class MyCustomException extends Exception {}
}
请注意,在这种情况下,自定义异常类必须为static
才能尊重Throwable
的{{1}}界面。