Получение 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), не препятствует созданию исключения, а скорее позволяет методу бросить его, чтобы вызывающая сторона этого метода должна была перехватить это исключение.