Почему здесь не работает catch(RuntimeException e) ? Оно не делает перехват, соответственно, то что внутри catch не обрабатывается. Как сделать, чтобы перехватить RuntimeException? Я вообще в недоумении, много что перечитал, пересмотрел и перепробовал, ничего не работает.
package com.javarush.task.pro.task14.task1411;
import java.io.FileNotFoundException;
import java.nio.file.FileSystemException;
public class FileManager {
private void readFile(String filePath) throws FileNotFoundException {
System.out.println("Читаем содержимое файла " + filePath);
}
private void writeFile(String filePath) throws FileSystemException {
System.out.println("Записываем данные в файл " + filePath);
}
public void copyFile(String sourceFile, String destinationFile) {
try {
readFile(sourceFile);
writeFile(destinationFile);
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (FileSystemException e) {
throw new RuntimeException(e);
}
}
}
FileManager, то она, в нормальных условиях, никаких исключений не выбрасывает. Для того чтобы перехватить исключение либо измените код классаFileManager(перед сдачей задачи валидатору, не забудьте откатить изменения, так как по условию, код этого класса изменять нельзя), либо напишите что-то вроде:readFile()иwriteFile()этого класса, просто не используются конструкции которые могли бы выбросить исключенияFileNotFoundException, илиFileSystemException. Если Вам, по каким-то причинам, важно перехватить исключения порождённые именно в классеFileManager, то перепишите его методыreadFile()иwriteFile()следующим образом:Запустите программу, насладитесь её правильной работой, а перед сдачей валидатору не забудьте изменить всё обратно.