Javaで初めて例外を処理していますが、これが良い方法かどうかを知りたいです。
public static void main(String[] args) throws FileNotFoundException {
submethod();
}
static void submethod() throws FileNotFoundException {
Scanner scan = new Scanner(new File("file.txt"));
while (scan.hasNextLine()) {
// do somethig...
}
}
私にとって奇妙に聞こえるのはthrows FileNotFoundException
、メソッド内でも明示的な宣言が行われているmain
ことです。それ以外の場合、コンパイラは次のように報告します。
error: unreported exception FileNotFoundException; must be caught or declared to be thrown
私のやり方が間違っているのか知りたかったのです。より多くの例外をキャッチする必要がある、より複雑なプロジェクトでは、非常に面倒になります。これは例外を処理するためのより良い方法ですか? そして、なぜ両方のメソッドで宣言する必要があるのですか?