Когда использовать выбросы в объявлении метода Java?

Итак, я подумал, что у меня хорошее базовое понимание обработки исключений в 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 и все.

82
задан jbranchaud 8 December 2010 в 21:18
поделиться