Sobes.tech
Middle
83
questionbank

Как избежать обязательной обработки исключения IOException?

Ответ от нейросети

sobes.tech AI

Можно обернуть IOException в runtime-исключение, например, RuntimeException.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Example {

    public static String readFileContent(String path) {
        try {
            return new String(Files.readAllBytes(Paths.get(path)));
        } catch (IOException e) {
            throw new RuntimeException("Ошибка чтения файла: " + path, e);
        }
    }

    public static void main(String[] args) {
        // Теперь вызов метода readFileContent() не требует try-catch
        // или throws IOException в main
        String content = readFileContent("example.txt");
        System.out.println(content);
    }
}

Этот подход скрывает checked-исключение от вызывающего кода, что может быть полезно в некоторых случаях, но также имеет потенциальные недостатки, так как вызывающий код не обязан явно обрабатывать эту ошибку. Следует использовать его с осторожностью, когда IOException представляет собой исключительную ситуацию, которую нельзя разумно обработать в месте вызова.