Найти в Дзене

Что такое исключение в Java? Как его обрабатывать?

Оглавление

Исключение в Java — это событие, которое возникает во время выполнения программы и нарушает нормальный ход её выполнения. Исключения могут быть вызваны различными причинами, такими как попытка деления на ноль, доступ к несуществующему элементу массива, неправильный ввод данных и т.д. В Java исключения являются объектами, которые представляют собой конкретные ошибки, произошедшие во время выполнения программы.

Базовым классом для всех исключений является класс Throwable. От него уже наследуются два класса: Error и Exception.

Исключения в Java делятся на три основные категории:

  1. Checked Exception (Проверяемые исключения): Эти исключения проверяются компилятором, и программист обязан обработать их либо с помощью блока try-catch, либо указав их в сигнатуре метода с ключевым словом throws. Примеры: IOException, SQLException.
  2. Unchecked Exception (Непроверяемые исключения): Эти исключения не проверяются компилятором, и их обработка полностью на усмотрение программиста. Они обычно происходят из-за ошибок в логике программы, другими словами следствием ошибок разработчика, например, неверное преобразование типов или выход за пределы массива. Базовым классом для непроверяемых исключений является RuntimeException. Примеры: NullPointerException, ArrayIndexOutOfBoundsException.
  3. Error (Ошибки): Это серьёзные проблемы, которые обычно связаны с окружением выполнения программы, например, недостаток памяти (OutOfMemoryError). Эти ошибки, как правило, не требуют обработки, так как программа обычно не может восстановиться после них.

Как обрабатывать исключения в Java?

Исключения в Java обрабатываются с помощью блоков try, catch, finally, и throw.

1. Блок try

В блоке try размещается код, который может вызвать исключение. Если в этом блоке возникает исключение, выполнение программы переходит в соответствующий блок catch.

try.java

2. Блок catch

Блок catch используется для перехвата и обработки исключений. Вы можете иметь несколько блоков catch для обработки различных типов исключений.

-2
catch.java

3. Блок finally

Блок finally выполняется в любом случае, независимо от того, было ли выброшено исключение или нет. Он обычно используется для освобождения ресурсов, например, закрытия файлов или сетевых соединений.

-3
finally.java

4. Оператор throw

Оператор throw используется для выбрасывания исключения вручную.

-4
throw.java

5. Оператор throws

Если метод может выбросить проверяемое исключение, это должно быть указано в его сигнатуре с использованием throws.

-5
throws.java

Пример обработки исключений

-6
example.java

Вывод:

  • Исключения позволяют управлять ошибками во время выполнения программы.
  • Обработка исключений с помощью try-catch-finally блоков позволяет предотвратить завершение программы в случае ошибок.
  • Блок finally гарантирует выполнение кода, который должен быть выполнен независимо от того, произошло ли исключение или нет.
  • Вы можете выбрасывать свои собственные исключения с помощью throw и указывать, какие исключения могут быть выброшены методом с помощью throws.
-7

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.

Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам