Javaでカスタム例外クラスを定義する最も簡単な方法は? 質問する

Javaでカスタム例外クラスを定義する最も簡単な方法は? 質問する

最も簡単な方法で独自の例外クラスを定義しようとしていますが、次のような結果になります。

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、 そうじゃない?

ベストアンサー1

いいえ、デフォルト以外のコンストラクタを「継承」するわけではなく、クラス内で String を受け取るコンストラクタを定義する必要があります。通常、super(message)コンストラクタ内で を使って親コンストラクタを呼び出します。たとえば、次のようになります。

public class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

おすすめ記事