Может кто-нибудь указать, что здесь не так - PullRequest
0 голосов
/ 30 мая 2020
• 1000 1006 *

Ответы [ 3 ]

1 голос
/ 30 мая 2020

Если вы посмотрите на определение FileNotFoundException, вы увидите, что это

public class FileNotFoundException extends IOException {

Итак, перехватывая базовый класс IOException, вы, по сути, уже перехватываете производное исключение, следовательно, ошибка, которую вы видите.

Однако, если вы еще раз посмотрите на вызываемый конструктор FileReader, он выдает только FileNotFoundException, поэтому вам действительно не нужно ловить IOException, и вы можете удалить это catch и исправьте вашу ошибку.

1 голос
/ 30 мая 2020

Похоже, FileNotFoundException расширяет IOException. Попробуйте инвертировать два оператора catch, и все будет хорошо.

Class FileNotFoundException java .lang.Object java .lang.Throwable java .lang.Exception java .io. IOException java .io.FileNotFoundException

См. https://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html

0 голосов
/ 30 мая 2020

Поскольку FileNotFoundException расширяет IOException, вы можете выбрать либо FileNotFoundException, либо IOException в зависимости от ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...