Исключения в Java

Исключение - это событие, которое происходит во время выполнения программы, что нарушает нормальный поток инструкций программы. Он обеспечивает способ передачи контроля с одной части программы на другую. Исключения происходят в таких ситуациях, как ваша программа заканчивается из памяти, файл не существует в указанном пути, сетевые соединения удаляются и т. Д. Более конкретно, для лучшего понимания мы можем сказать, что это ошибка Runtime во время выполнения программы, которая нарушает нормальный поток инструкций. На следующем рисунке показано исключение outofmemory:

Класс исключений используется для исключительных условий, которые должны выполнять программы. Возможные исключения в программе Java организованы в иерархию классов исключений. Класс Throwable, который является непосредственным подклассом Object, находится в корне иерархии исключений. Throwable имеет два непосредственных подкласса: Exception и Error. Существует важный подкласс Exception, известный как RuntimeException.

  1. try
  2. catch
  3. наконец
  4. throw
  5. throws

Синтаксис:

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

Пример без исключения catch:

Вывод:

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

Вывод:

Здесь вы можете увидеть исключение, обрабатываемое в блоке catch, и программа продолжит следующую строку. Важно отметить, что за блоком Java try должен следовать либо catch, либо finally block.

try..catch в Java

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

Синтаксис:

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

Вывод:

Здесь исключение произошло, но блок кода finally был выполнен.

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

Вывод:

Здесь мы видим, что программа выполняется без каких-либо исключений, но после этого блок finally также выполняется.

Как выхватить несколько исключений

Метод может вызывать несколько исключений. Однако этот метод должен объявить все проверенные исключения, которые он может

С выпуском Java 7 оракул также внес некоторые хорошие изменения в механизм обработки исключений. Прежде всего, это улучшенный блок catch block and redundant throws.

В этой функции теперь вы можете поймать несколько исключений в одном блоке catch. Перед Java 7 вы были ограничены, чтобы поймать только одну.

Проверенные и непроверенные исключения

Проверенные исключения являются подклассами Java.lang.Exception и Unchecked Exceptions являются подклассами Java.lang.RuntimeException.

Проверено исключение

Неконтролируемое исключение

Классы, которые расширяют исключение RuntimeException, называются неконтролируемыми исключениями. Исключенные исключения - это чисто программные ошибки, такие как логические ошибки или неправильное использование API, нулевые данные или даже сбои в бизнес-логике могут привести к исключениям во время выполнения. Исключения во время выполнения игнорируются во время компиляции, например. ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException и т. Д. Это абсолютно нормально обрабатывать / исключать исключенные исключения из кода. В C ++ все исключения не отмечены, поэтому компилятор не вынужден обрабатывать или указывать исключение. Программисты должны быть цивилизованными и определять или улавливать исключения

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

Java обеспечивает сложный механизм обработки исключений, который позволяет идентифицировать исключительные условия в коде и фиксировать исключения по мере их возникновения. Вот некоторые из важных преимуществ:

Java обеспечивает сложный механизм обработки исключений, который позволяет идентифицировать исключительные условия в коде и фиксировать исключения по мере их возникновения. Вот некоторые из важных преимуществ:...

  1. Обработка исключений позволяет нам контролировать нормальный поток программы, используя обработку исключений в программе.
  2. Возможность распространения ошибок на стек вызовов Еще одним важным преимуществом обработки исключений в объектно-ориентированном программировании является способность распространять ошибки в стеке вызовов.
  3. Он выдает исключение всякий раз, когда вызывающий метод обнаруживает ошибку, при условии, что вызывающий метод позаботится об этом error.
  4. Он также дает нам возможность организовать и дифференцировать различные типы ошибок с использованием отдельного блока кодов. Это делается с помощью блоков try-catch.

Источник: http://net-informations.com/Java/sts/exceptions.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector