Java 独自の例外クラスを作成するサンプル

Javaの独自の例外クラスを作成するサンプルです。

独自の例外クラス

コード

サンプルのコードです。

プログラムの流れ

27行目からプログラムが始まります。
29行目でインスタンスを生成し、32行目でインスタンスのメソッドを実行しています。
23行目は、独自の例外をthrowしています。
7-15行目が独自の例外クラスです。

独自の例外クラス

7行目は、Exceptionクラスを継承しています。
12-14行目は、コンストラクタです。
13行目のsuper(msg)は、継承元のExceptionクラスのコンストラクタを指します。
具体的には以下です。
public Exception(String message)
→getMessageメソッドで引数のmessageを取得できるようになります。
以下はコンストラクタ「public Exception(String message)」のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Exception.html#Exception-java.lang.String-

package test1;

/**
 * 独自の例外のサンプル
 */
// 独自の例外クラス。Exceptionクラスを継承。
class MyTest1Exception extends Exception{
	//warningを回避するための宣言
	private static final long serialVersionUID = 1L; 

	// コンストラクタ
	MyTest1Exception(String msg){
		super(msg);
	}
}
class Sample {
	void runSample() throws MyTest1Exception {

		int i = 5;

		if (i == 5) {
			// throwで作成した例外を投げる
			throw new MyTest1Exception("独自の例外です"); 
		}
	}
}
public class Test1 {
	public static void main(String[] args) {
		Sample s = new Sample();
		
		try {
			s.runSample();
		// 独自の例外をキャッチ			
		} catch (MyTest1Exception e) {
			System.out.println(e.getMessage());//独自の例外です
			System.out.println(e);// test1.MyTest1Exception: 独自の例外です
			
		} catch (Exception e) {
			System.out.println("Exception"); //出力されない
		}
	}
}

関連の記事

Java 検査例外のサンプル
Java 非検査例外のサンプル
Java 例外処理のthrowのサンプル
Java printStackTraceとは
Java try-with-resources構文のサンプル




△上に戻る