Понимание исключений в Java: Checked vs Unchecked

Исключения в Java помогают нам обрабатывать ошибки и непредвиденные ситуации. В Java есть два основных типа исключений: Checked и Unchecked. Понимание их различий поможет вам лучше управлять ошибками в вашем коде.

Checked Exception

Checked исключения — это те, которые компилятор требует от вас обязательно обработать. Обычно это исключения, связанные с внешними ресурсами, например, с файлами или сетевыми соединениями.

Примеры Checked исключений:

IOException — проблемы при работе с файлами SQLException — ошибки при взаимодействии с базами данных Когда ваш код может вызвать Checked исключение, вы должны обработать его в блоке try-catch или объявить его в сигнатуре метода с помощью ключевого слова throws.

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

Примеры Unchecked исключений:

NullPointerException — использование ссылки, которая равна null ArrayIndexOutOfBoundsException — обращение к элементу массива за пределами его границ

На изображении пример, который иллюстрирует как работать с Checked и Unchecked исключениями:

  • Checked исключение: В блоке try мы пытаемся создать объект FileReader для чтения файла. Если файл не существует или возникла проблема при его открытии, выбрасывается IOException. Мы обрабатываем это исключение в блоке catch и выводим сообщение об ошибке.

  • Unchecked исключение: Мы пытаемся получить элемент массива по индексу 5, хотя массив содержит только три элемента. Это приводит к ArrayIndexOutOfBoundsException, которое обрабатывается в блоке catch, где мы выводим соответствующее сообщение. Затем мы делим число 10 на ноль, что вызывает ArithmeticException, также обрабатываемое в блоке catch.

Checked исключения требуют обязательной обработки и обычно связаны с внешними ресурсами. Unchecked исключения возникают из-за ошибок в логике кода и могут быть предотвращены тщательным тестированием и корректным программированием.

Понимание исключений в Java: Checked vs Unchecked | Сетка — социальная сеть от hh.ru
repost

203

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь