Я думал, что хорошо разбираюсь в обработке исключений в Java, но недавно я читал код, который вызвал у меня некоторую путаницу и сомнения. Мое главное сомнение, которое я хочу здесь обсудить, - это когда следует использовать throws в объявлении метода 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 и все.