はい、それは内部のコンテンツeducoderですが、それがそうであるように良いですが、少し異常な今日の表情
リンク:https://www.educoder.net/tasks/xiocqmvkegbn
カスタム例外
Java
に加えてJava
、監視システム異常(添字範囲、ゼロによる除算など)、ユーザは、例外をカスタマイズすることができます。
異常な使用ユーザー定義の同じtry{} catch{}
取り込み、それ自体がユーザーによってスローされなければなりませんthrow new MyException
。
例外はクラスで、ユーザー定義の例外を継承しなければならないThrowable
かException
提案し、クラスException
クラス。
構文構造は以下のとおりです:
class MyException extends Exception {
…
}
一般的に、我々はこのような例外を定義します:
class MyException extends Exception {
public MyException(String m) {
super(m);
}
}
上記構成コードの方法MyException(String m)
によりsuper()
親クラスのコンストラクタを呼び出すことは、効果は、以下の出力結果です。
MyException: 字符串m中的内容
プロセスでは、それは例外構文は次のとおりですスローします。
throw new MyException(""); //""为字符串m中的内容,由用户自定义
次に、コードの一部に理解を深め
インポートjava.util.Scanner; クラス MyExceptionが延び例外{ 公共MyException(文字列M){ スーパー(M)。 } } パブリック クラスMyExceptionTest { 公共 静的 ボイドメイン(文字列[]引数){ 試み{ スキャナスキャナ = 新しいスキャナ(System.in)。 INT NUM = scanner.nextInt()。 / ** ********は********開始/ * 場合(NUM> = 0 ){ System.out.print(「入力した番号がある:」+ NUM); } 他{ スロー 新しい(「ナンバー否定することはできません!」MyExceptionを)。 } / ** ********エンド******** * / } キャッチ(MyException電子){ System.out.print(E); } } }
サンプル入力:-60
出力例:chapter8.step3.MyException: Number cannot be negative!
サンプル入力:60
出力例:The number you entered is: 60