应该在哪里定义自定义(和出现的)异常?

时间:2016-02-01 22:10:38

标签: java oop exception

应该定义哪个自定义异常只能由一个方法抛出?如果我可以将它们写成本地课程,那将是完美的但是我不能抛弃它们,因为它们无法解析为类型...

提前致谢

2 个答案:

答案 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}}界面。