最も簡単な方法で独自の例外クラスを定義しようとしていますが、次のような結果になります。
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);
}
}