@634

例外を自分で定義

Advertisement

ユーザが独自に例外を定義する。

ユーザ独自の例外クラスを作成する事ができる。

具体的には Throwable から派生されているクラスをスーパークラスとしたクラスを実装すればよい。

サンプルコード

クライアント
public class Main {
    public static void main(String[] args) {
        try{
            MyException.ThrowTest();
        }catch(MyException e){
            System.out.println(e);
        }
    }
}

ユーザー定義例外
package mytest.exception;

public class MyException extends Exception{
    public static void ThrowTest() throws MyException{
        throw new MyException();
    }
}

実行結果
>mytest.exception.MyException

コンストラクタ

コンストラクタを明示しない場合、またはデフォルトコンストラクタでなにもしない場合は上記サンプルのように、例外のクラス名のみ取得することができる。

例外に詳細なメッセージを設定したい場合、文字列を引数としてうけとるコンストラクタを定義してメッセージをスーパークラスに引き渡す。

サンプルコード

クライアント
public class Main {
    public static void main(String[] args) {
        try{
            MyException.ThrowTest();
        }catch(MyException e){
            System.out.println(e);
        }
    }
}

ユーザー定義例外
public class MyException extends Exception{
    public static void ThrowTest() throws MyException{
        throw new MyException("MyException!!");
    }

    public MyException(String reason){
        super(reason);
    }
}

実行結果
mytest.exception.MyException: MyException!!

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール