Попробуйте Catch в Java: пример обработки исключений

Что такое исключение?

Исключение – это событие, которое прерывает нормальный поток выполнения. Это нарушение во время выполнения программы Java.

В этом уроке вы узнаете,

Существует два типа ошибок:

  1. Ошибки времени компиляции
  2. Ошибки времени выполнения

Ошибки времени компиляции можно снова классифицировать на два типа:

  • Ошибки синтаксиса
  • Семантические ошибки

Ошибки синтаксиса Пример:

Вместо того, чтобы объявить, что int a;вы ошибочно объявили это, in a;для которого компилятор будет выкидывать ошибку.

Пример: вы объявили переменную, int a;и после некоторых строк кода вы снова объявите целое число как int a;. Все эти ошибки выделяются при компиляции кода.

Пример ошибки Runtime

Ошибка Runtime называется ошибкой Исключения . Это любое событие, которое прерывает нормальный поток выполнения программы.

Пример для исключений: арифметическое исключение, исключение Nullpointer, деление на ноль исключение и т. Д.

Исключения в Java – это то, что не контролируется разработчиками.

Зачем нам нужно исключение?

Предположим, вы закодировали программу для доступа к серверу. Когда вы разрабатывали код, все отлично работало.

Во время фактического производственного цикла сервер не работает. Когда ваша программа пыталась получить к нему доступ, возникает исключение.

Как справиться с исключением

До сих пор мы видели, что исключение находится вне контроля разработчика. Но обвинение в нарушении кода по экологическим проблемам не является решением. Вам нужно надежное программирование, которое заботится об исключительных ситуациях. Такой код известен как обработчик исключений.

В нашем примере хорошая обработка исключений будет, когда сервер не работает, подключиться к серверу резервного копирования.

Чтобы реализовать это, введите свой код для подключения к серверу (с использованием традиционных условий if и else).

Вы проверите, отключен ли сервер. Если да, напишите код для подключения к резервному серверу.

Такая организация кода, использующая цикл “if” и “else”, не эффективна, когда ваш код имеет несколько обработок java для обработки.

 

Попробуйте Catch Block

Java обеспечивает встроенную исключительную управляемость.

  1. Нормальный код переходит в блок TRY.
  2. Код обработки исключений входит в блок CATCH

В нашем примере блок TRY будет содержать код для подключения к серверу. Блок CATCH будет содержать код для подключения к серверу резервного копирования.

Если сервер встал, код в блоке CATCH будет проигнорирован. Если сервер не работает, возникает исключение, и код в блоке catch будет выполнен.

Таким образом, это исключение обрабатывается на Java.

Синтаксис для использования try & catch

пример

Шаг 1) Скопируйте следующий код в редактор

Шаг 2) Сохраните файл и скомпилируйте код. Запуск программы с помощью команды java JavaException

Шаг 3) Арифметическое исключение – деление на ноль показано ниже для строки # 5, а строка # 6 никогда не выполняется

Шаг 4) Теперь давайте посмотрим, как попытка и улов поможет нам справиться с этим исключением. Мы помещаем исключение, вызывающее строку кода в блок try , за которым следует блок catch . Скопируйте следующий код в редактор.

Шаг 5) Сохраните, скомпилируйте и запустите код. Вы получите следующий результат

Как вы заметили, исключение обрабатывается, и выполняется также последняя строка кода. Также обратите внимание, что строка № 7 не будет выполнена, поскольку, как только возникает исключение, поток управления переходит к блоку catch.

Примечание. Объект AritmeticException “e” содержит информацию о произошедшем исключении, которое может быть полезно при принятии действий по восстановлению.

Иерархия классов класса Java

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

  • Все классы исключений в Java расширяют класс “Throwable”. Throwable имеет два подкласса: ошибка и исключение
  • Класс Error определяет исключение или проблемы, которые не ожидаются в обычных условиях нашей программой, пример Ошибка памяти, ошибка оборудования, ошибка JVM и т. Д.
  • Класс Exception представляет исключения, которые могут быть обработаны нашей программой, и наша программа может быть восстановлена ​​из этого исключения, используя блок try и catch
  • Исключение Runtime – это подкласс класса исключения. Исключение этого типа представляет собой исключение, которое происходит во время выполнения и которое невозможно отслеживать во время компиляции. Отличным примером этого является деление на нулевое исключение или исключение нулевого указателя и т. Д.
  • Исключение IO генерируется во время операций ввода и вывода
  • Прерванные исключения в Java, генерируются во время многопоточности.

Пример: для понимания вложенности блоков try и catch

Шаг 1) Скопируйте следующий код в редактор.

Шаг 2) Сохраните файл и скомпилируйте код. Запустите программу с помощью команды java JavaException .

Шаг 3) Генерируется ArrayIndexOutOfBoundsException. Измените значение int d на 0. Сохраните, скомпилируйте и запустите код.

Шаг 4 ) Необходимо создать исключение ArithmeticException.

Шаг 5) Отсоедините линию №10 до строки №12. Сохранить, скомпилировать и запустить код.

Шаг 6) Ошибка компиляции? Это происходит потому, что Exception является базовым классом исключения ArithmeticException. Любое исключение, возникающее при вызове ArithmeticException, может также обрабатываться классом Exception. Таким образом, блок catch из ArithmeticException никогда не получит шанс быть выполненным, что делает его излишним. Отсюда ошибка компиляции.

Завершение работы Java

Блок finally выполняется независимо от исключения в блоке try. Он необязательноиспользовать с блоком try.

 

В случае, если в блоке try возникает исключение, блок finally выполняется после выполнения блока catch.

пример

Шаг 1) Скопируйте следующий код в редактор.

Шаг 2) Сохраните, скомпилируйте и запустите Код.

Шаг 3) Ожидаемый результат. Наконец, блок выполняется, даже если возникает исключение.

Шаг 4) Измените значение переменной d = 1. Сохраните, скомпилируйте и запустите код и посмотрите вывод.

Резюме :

  • Исключением является ошибка времени выполнения , которое прерывает нормальный поток программы execution.Disruption во время выполнения программы, называется , как ошибки или исключения.
  • Ошибки подразделяются на две категории
    • Ошибки времени компиляции – ошибки синтаксиса, семантические ошибки
    • Ошибки времени выполнения – исключение
  • Надежная программа должна обрабатывать все исключения и по- прежнему с нормальным потоком выполнения программы. Java предоставляет встроенный исключительный способ обработки
  • Обработчик исключений – это набор кода, который обрабатывает исключение . Исключения могут обрабатываться на Java с помощью try & catch.
  • Try block : нормальный код идет по этому блоку.
  • Блок уловов : если в нормальном коде есть ошибка, то он войдет в этот блок
0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *