Получение FileNotFoundException, даже если я объявил, что он был брошен

В настоящее время я пишу текстовый редактор, используя связанные списки, и я почти закончил, но я сталкиваюсь с FileNotFoundException при попытке проверить командную строку моей программы, даже если я объявил, что она выбрасывается.

Вот скелет для моего редактора:

public class Editor  {

  public Editor() { 

  }

  public void commandLine() throws FileNotFoundException {

  }
}

Вот драйвер для моей программы:

public class EditorTest
{
  public static void main(String[] args) 
  {
        Editor asdf = new Editor(); 
        asdf.commandLine();

    }
}

Я по-прежнему получаю сообщение об ошибке для незарегистрированного исключения FileNotFoundException, хотя я объявил, что оно было выброшено в моем методе командной строки. Что случилось?

3 ответа

Решение

Вам нужно добавить throws FileNotFoundException на ваш main метод. Или вы можете добавить:

    try {
        asdf.commandLine();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

на ваш main метод, в зависимости от того, что вам нужно сделать на основе этого исключения.

Тебе тоже нужно объявить это на главном

public static void main(String[] args) throws FileNotFoundException {

Объявление исключения, которое выдается в методе (т. Е. Использование throws MyException), не препятствует созданию исключения, а скорее позволяет методу бросить его, чтобы вызывающая сторона этого метода должна была перехватить это исключение.

Другие вопросы по тегам