メソッドで発生した例外をそのままスロー

throwsを使うと、メソッドで発生した例外をそのままスローさせることができる。

構文

メソッド throws 例外クラス {
 // 例外を発生させる可能性がある処理文
}

「例外を発生させる可能性がある処理文」で、「例外クラス」の例外が発生しても、そのままスローさせる。

これを応用すると、メソッド呼び出し元で例外を受け取り例外処理を実行させることができる。

サンプル

1
2
3
4
5
6
7
8
9
10
11
12
13
package samplePackage;

import java.io.*;

public class SampleClass {

 public static void main( String[] args ) throws FileNotFoundException {

  FileReader $file = new FileReader( "sample.txt" );

 }

}

実行結果

Exception in thread "main" java.io.FileNotFoundException: sample.txt (指定されたファイルが見つかりません。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:120)
 at java.io.FileInputStream.<init>(FileInputStream.java:79)
 at java.io.FileReader.<init>(FileReader.java:41)
 at samplePackage.SampleClass.main(SampleClass.java:9)