小编典典

如何在 Java 中定义自定义异常类,最简单的方法?

all

我正在尝试以最简单的方式定义自己的异常类,这就是我得到的:

public class MyException extends Exception {}

public class Foo {
  public bar() throws MyException {
    throw new MyException("try again please");
  }
}

这就是 Java 编译器所说的:

cannot find symbol: constructor MyException(java.lang.String)

我有一种感觉,这个构造函数必须继承自java.lang.Exception,不是吗?


阅读 71

收藏
2022-04-27

共1个答案

小编典典

不,您不会“继承”非默认构造函数,您需要在类中定义采用 String
的构造函数。通常,您super(message)在构造函数中使用来调用父构造函数。例如,像这样:

public class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}
2022-04-27