Java 应在何处定义自定义(和罕见)例外?
应该在哪里定义仅由一个方法引发的自定义异常?如果我能把它们写成本地类,那就太好了,但是我不能把它们扔掉,因为它们不能解析成一个类型Java 应在何处定义自定义(和罕见)例外?,java,oop,exception,Java,Oop,Exception,应该在哪里定义仅由一个方法引发的自定义异常?如果我能把它们写成本地类,那就太好了,但是我不能把它们扔掉,因为它们不能解析成一个类型 提前感谢您可以将异常声明为内部类静态,这样您就可以在主类之外使用它 另一种解决方案是只使用现有的常规异常类型之一,在“直接已知子类”下列出所有这些类型:将它们创建为定义该方法的嵌套类: class MyClass { void myMethod() throws MyCustomException {} static class MyCustomExcep
提前感谢您可以将异常声明为内部类静态,这样您就可以在主类之外使用它
另一种解决方案是只使用现有的常规异常类型之一,在“直接已知子类”下列出所有这些类型:将它们创建为定义该方法的嵌套类:
class MyClass {
void myMethod() throws MyCustomException {}
static class MyCustomException extends Exception {}
}
请注意,在这种情况下,自定义异常类需要是
静态的
,以便将Throwable
的可序列化的
接口作为嵌套在定义该方法的类中的类。别忘了将异常类设为静态。这将是下一个最好的方法。。。因此,绝对不可能在方法内部定义它?不。如果您希望能够捕获自定义异常(或声明您的方法抛出自定义异常),则符号需要在方法外部可见。