Java недостижимый блок перехвата для FileNotFoundException - PullRequest
0 голосов
/ 29 июня 2018

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

Может кто-нибудь помочь мне с этим? Вот мой код для этой части:

public void readFile(String inputFilePath, String outputFilePath) throws IOException{

    StringBuilder sb = new StringBuilder();

    File input = null;

    try{
    input = new File(inputFilePath);
    }
    catch (FileNotFoundException e){
        System.err.println("Input file cannot be found in the provided path");
    }

1 Ответ

0 голосов
/ 29 июня 2018

Потому что эта строка

input = new File(inputFilePath);

не выдает исключение FileNotFoundException

Если вы покопаетесь в коде new File(..), это то, что у него есть

public File(String pathname) {
     if (pathname == null) {
         throw new NullPointerException();
     }
     this.path = fs.normalize(pathname);
     this.prefixLength = fs.prefixLength(this.path);
}

Как видите, этот метод не генерирует FileNotFoundException, есть только возможность NPE.

Если вы расширили свой код для чтения файла, как этот

new BufferedInputStream(new FileInputStream(input));  

тогда FileNotFoundException имеет смысл. Попробуйте.

...