<< 例外とは | main | 例外を投げる(throw, throws) >>

スポンサーサイト

  • 2013.11.08 Friday
  • -
  • -
  • -
  • by スポンサードリンク

一定期間更新がないため広告を表示しています


例外をキャッチする(try, catch, finally)

FileReader() は、指定したファイルが存在しない場合に FileNotFoundException 例外を発生させます。これは、FileReader() のマニュアルに下記のように記述してあることから分かります。

public FileReader(String fileName)
throws FileNotFoundException

try は、例外を発生させる可能性のある処理を呼び出す場合に用います。try { ... } の間で例外が発生した場合、catch を用いてこの例外を捕捉します。下記の例では、FileNotFoundException 例外が発生した場合に、その内容を標準出力に書き出します。このような例外発生時の処理を 例外ハンドラ と呼びます。

try {
FileReader in = new FileReader("data.txt");
} catch (FileNotFoundException e) {
System.out.println(e);
}

catch は例外発生時に投げられる 例外オブジェクト に応じて複数記述することができます。いずれの catch にも該当しない例外を扱うために、finally を用います。

try {
:
} catch (TestAException e) {
:
} catch (TestBException e) {
:
} finally {
:
}

例外が発生した場合、try { ... } catch の間の残りの処理はスキップされます。下記の例では、例外が発生した場合 (1) (2) (4) (5) の処理が実行され、(3) の処理はスキップされます。例外が発生しない場合は (1) (2) (3) (5) の処理が実行されます。

System.out.println("(1)");
try {
System.out.println("(2)");
FileReader in = new FileReader("data.txt"); ← 例外発生!!
System.out.println("(3)"); ← スキップされる
} catch (FileNotFoundException e) {
System.out.println("(4)");
}
System.out.println("(5)");


スポンサーサイト

  • 2013.11.08 Friday
  • -
  • 21:37
  • -
  • -
  • by スポンサードリンク

コメント
コメントする









この記事のトラックバックURL
トラックバック
相互リンク
selected entries
categories
archives
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM
calendar
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< March 2024 >>
sponsored links