2015-12-05 4 views
0

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

//Menu choice execution 
if (intMenu == 1) { 
    loadArray(); 
} 
else if (intMenu == 2){ 
    export(); 
} 

Оба этих вызовов остановить компилятор и дает следующее сообщение об ошибке:

Error: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown 

Что меня смущает, что сами методы бросают исключение их конкретизации.

//Load method that will export the arrays 
    public static export() throws FileNotFoundException { 

    } 

    //Load method that will search the arrays 
    public static search() throws FileNotFoundException { 

    } 

Любая помощь будет очень признательна.

ответ

2

throws FileNotFoundException после объявления метода означает, что этот метод потенциально может вызвать такое исключение. Это не значит, что он сразу бросает его (throws отличается от throw, что является ключевым словом для фактического выброса исключения).

Поскольку Java знает, что эти методы могут вызывать такое исключение, для этого требуется обработать его - либо сделать свой собственный метод также объявленным throws FileNotFoundException, либо поймать его.

См this page для более подробной информации, особенно в той части The Catch or Specify Requirement

+0

Спасибо за эти ссылки и объяснения. Это заставило меня понять, что я забыл добавить броски FileNotFoundException к главному, где вызов этих методов. – NameUnknown

Смежные вопросы