Я думал, что имею хорошее базовое представление об обработке исключений в Java, но недавно я прочитал код, который вызвал у меня некоторое замешательство и сомнения. Мое главное сомнение, на которое я хочу обратить внимание, заключается в том, когда следует использовать throws в объявлении метода Java, как показано ниже:
Код: Выделить всё
public void method() throws SomeException
{
// method body here
}
Прочитав некоторые похожие сообщения, я понял, что throws[/b] используется как своего рода объявление о том, что SomeException может быть выброшено. во время выполнения метода.
Мое замешательство связано с кодом, который выглядел следующим образом:
Код: Выделить всё
public void method() throws IOException
{
try
{
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
Есть ли причина, по которой вам нужно использовать выбросы[/b] в этом примере? Кажется, что если вы просто выполняете базовую обработку исключений для чего-то вроде IOException, вам просто понадобится блок try/catch и все.
Подробнее здесь:
https://stackoverflow.com/questions/439 ... eclaration