そのため、Javaでの例外処理について基本的には十分に理解していると思いましたが、最近、混乱と疑問を与えるコードを読んでいました。ここで取り上げたい主な疑問は、次のようなJavaメソッド宣言をいつ使用する必要があるかということです。
public void method() throws SomeException
{
// method body here
}
私が収集したいくつかの同様の投稿を読んだところ、throwsは、メソッドの実行中にSomeExceptionがスローされる可能性があるという一種の宣言として使用されています。
私の混乱は、次のようなコードから来ています。
public void method() throws IOException
{
try
{
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
この例でスローを使用したい理由はありますか?IOExceptionのような基本的な例外処理を行っているだけの場合は、try / catchブロックが必要になるだけのようです。