import java.io.FileReader;
public class Main {
static void readFile() {
FileReader fr = new FileReader("test.txt");
}
public static void main(String[] args) {
readFile();
}
}
選択肢
- あなたの回答
- 正解
正解
B. コンパイルエラーになる
詳細解説
FileReader のコンストラクタは FileNotFoundException(チェック例外)をスローします。チェック例外は try-catch で囲むか throws 宣言をしないとコンパイルエラーになります。
なぜ他の選択肢が違うのか
- チェック例外は処理を明示しないとコンパイル段階で弾かれます。
- ファイルが存在しない場合も、コンパイル時に例外処理が要求されます。
- FileNotFoundException は RuntimeException ではなくチェック例外です。
罠ポイント
Error と RuntimeException のサブクラスはアンチェック例外で処理が任意です。それ以外の Exception はチェック例外で処理必須です。