В этом репозитории я разбираю исключения в Java. Здесь будут собраны примеры с объяснениями,
чтобы запомнить, как обрабатывать ошибки и не бояться их.
| № | Файл | Что делает |
|---|---|---|
| 1 | ArithmeticException.md |
Деление на ноль |
| 2 | ArrayIndexOutOfBoundsException.md |
Выход за границы массива |
| 3 | NumberFormatException.md |
Ошибка преобразования строки в число |
Постепенно буду добавлять примеры.
Исключение (Exception) — это событие, которое нарушает нормальное выполнение программы. Это не ошибка в коде, а непредвиденная ситуация (например, пользователь ввёл текст вместо числа, файл не найден, кончилось место на диске).
Java даёт инструменты, чтобы такие ситуации обрабатывать, а не падать с ошибкой.
Самый важный синтаксис для работы с исключениями:
try {
// код, который может вызвать исключение
int result = 10 / 0;
} catch (ArithmeticException e) {
// что делать, если исключение случилось
System.out.println("На ноль делить нельзя!");
} finally {
// этот блок выполняется всегда (даже если ошибки не было)
System.out.println("Программа завершила работу");
}| Блок | Когда выполняется |
|---|---|
try |
Код, который может выбросить исключение |
catch |
Только если исключение произошло |
finally |
Всегда (закрытие файлов, подключений и т.д.) |
| Исключение | Когда возникает |
|---|---|
ArithmeticException |
Деление на ноль |
ArrayIndexOutOfBoundsException |
Индекс за пределами массива |
NullPointerException |
Обращение к объекту = null |
NumberFormatException |
Ошибка при преобразовании строки в число |
IllegalArgumentException |
Передан неподходящий аргумент |
FileNotFoundException |
Файл не найден |
IOException |
Ошибка ввода-вывода |
ClassNotFoundException |
Класс не найден |
| Тип | Что это | Нужно ли обрабатывать |
|---|---|---|
| Checked | Компилятор проверяет (например, IOException) | ✅ Да |
| Unchecked | Ошибки в логике кода (например, NullPointerException) | ❌ Не обязательно |
| Error | Серьёзные проблемы JVM (например, OutOfMemoryError) | ❌ Не обрабатываются |
- Понимание, что такое исключения
- Блоки
try-catch-finally - Обработка популярных исключений
- Разница между
throwиthrows
Это моя шпаргалка по исключениям. Когда программа падает с ошибкой, я открываю этот репозиторий и вспоминаю, как правильно обрабатывать такие случаи.
⭐ Исключения — это не страшно, если понимать, как с ними работать.