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

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

目次

独自の例外クラス

独自の例外クラスのサンプル

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

package test1;

public class MyTest1Exception extends Exception{
	//warningを回避するための宣言
	private static final long serialVersionUID = 1L; 

	// コンストラクタ
	MyTest1Exception(String msg){
		super(msg);
	}
}

独自の例外クラスを使用したコードのサンプル

上記の独自の例外クラス(MyTest1Exception クラス)を使用したコードのサンプルです。
8行目は、18行目のメソッドを呼び出します。
24行目は、独自の例外をthrowしています。
12行目で独自の例外にセットした文字列を表示しています。

package test1;

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: 独自の例外です
		}
	}
}
class Sample {
	void runSample() throws MyTest1Exception {

		int i = 5;
		if (i == 5) {
			
			// throwで作成した例外を投げる
			throw new MyTest1Exception("独自の例外です"); 
		}
	}
}

関連の記事

Java 検査例外のサンプル(チェック例外)
Java 非検査例外のサンプル(非チェック例外)
Java 例外処理のthrowのサンプル
Java printStackTraceとは
Java リソースを自動でクローズする(try-with-resources文)

△上に戻る