IOException
Проверяемое исключение для ошибок ввода-вывода: файлов, сети, потоков данных.
Доступно с: Java 1.0
Синтаксис
public class IOException extends ExceptionПримеры
Чтение отсутствующего файла:
void main() {
try {
String text = Files.readString(Path.of("no-such-file.txt"));
IO.println(text);
} catch (NoSuchFileException e) {
IO.println("File not found: " + e.getMessage());
} catch (IOException e) {
IO.println("Read error: " + e.getMessage());
}
}Результат:
File not found: no-such-file.txtПримечания
Это проверяемое исключение: метод, который читает файл, должен либо перехватить его, либо объявить throws IOException. У него много наследников — NoSuchFileException, FileNotFoundException, AccessDeniedException; более конкретный catch пишется выше общего.
См. также
- UncheckedIOException — Непроверяемая обёртка над `IOException` — нужна там, где проверяемые исключения запрещены, например в лямбдах.
- try-with-resources — Блок `try`, который сам закрывает открытые ресурсы — файлы, соединения, потоки.
- Exception — Базовый класс исключений, которые программа может перехватить и обработать.
В учебнике
- Проверяемые и непроверяемые исключения — Checked и unchecked исключения в Java — что требует компилятор, объявление throws, RuntimeException и обёртывание исключений.