Java 検査例外のサンプル(チェック例外)

Javaの検査例外のサンプルです。

目次

検査例外とは

主な検査例外

以下は、主な検査例外です。

クラス名(例外名) 説明
IOException 入出力エラー
FileNotFoundException ファイルが見つからない
SQLException SQLエラー

検査例外のサンプルコード(throws句の記述あり)

検査例外のサンプルコードです。thorws句の記述があります。
メソッドを呼ぶ側でtry-catchを行う場合、メソッドが呼ばれる側にthrows句の記述が必要です。

13行目からtry-catchを記述しています。
14行目でFileTestクラスのreadメソッドを呼んでいます。
29行目にthrows句(throws IOException)を記述しています。
35行目で存在しないファイルを読みに行って検査例外(IOException)を発生させています。
17行目で検査例外(IOException)をキャッチしています。

package test1;

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Test1 {
	public static void main(String[] args) {
		
		// メソッドを呼ぶ側
		try {
			FileTest.read();

		// 例外をキャッチ
		} catch (IOException e) { 
			System.out.println(e); 
			//java.nio.file.NoSuchFileException: D:\workspace\test2.txt


		}finally {
			System.out.println("finallyの実行");
		}
 	}
}
class FileTest {
	// メソッドが呼ばれる側
	static void read() throws IOException {//throws IOExceptionを書く 
		
		String dir = "D:\\workspace";
		String filename = "test2.txt";

		// 存在しないファイルを読みに行って例外(IOException)が発生
		List<String> line = Files.readAllLines(Paths.get(dir, filename),
			Charset.forName("SHIFT_JIS")); 
	}
}

検査例外のサンプルコード(throws句の記述なし)

検査例外のサンプルコードです。thorws句の記述がないパターンです。
メソッドが呼ばれる側でtry-catchを行う場合は、throws句の記述は不要です。

13行目でFileTestクラスのreadメソッドを呼んでいます。
26行目で存在しないファイルを読みに行って検査例外(IOException)を発生させています。
29行目で検査例外(IOException)をキャッチしています。
19行目にはthrows句(throws IOException)はありません。

package test1;

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Test1 {
	public static void main(String[] args) {
		
			// メソッドを呼ぶ側
			FileTest.read();

 	}
}
class FileTest {
	// メソッドが呼ばれる側
	static void read()  {
		
		String dir = "D:\\workspace";
		String filename = "test2.txt";

		// 存在しないファイルを読みに行って例外(IOException)が発生
		try {
			List<String> line = Files.readAllLines(Paths.get(dir, filename),
				Charset.forName("SHIFT_JIS"));
			
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}
}

関連の記事

Java 非検査例外のサンプル(非チェック例外)
Java 例外処理のthrowのサンプル
Java 独自の例外を作成するサンプル
Java printStackTraceとは
Java try-with-resources構文のサンプル



△上に戻る