Рекомендуем, 2020

Выбор редакции

Разница между ошибкой и исключением в Java

«Throwable» действует как корень для ошибок Java и иерархии исключений. «Ошибка» является критическим условием, которое не может быть обработано кодом программы. «Исключение» - это исключительная ситуация, которая может быть обработана кодом программы. Существенная разница между ошибкой и исключением заключается в том, что ошибка вызвана нехваткой системных ресурсов, а исключение вызвано вашим кодом. Давайте изучим другие различия между ошибкой и исключением вместе с таблицей сравнения.

Сравнительная таблица

Основа для сравненияошибкаисключение
основнойОшибка вызвана из-за нехватки системных ресурсов.Исключение вызвано из-за кода.
восстановлениеОшибка необратима.Исключение подлежит восстановлению.
Ключевые словаНет средств для обработки ошибки с помощью программного кода.Исключения обрабатываются с использованием трех ключевых слов «try», «catch» и «throw».
последствия
При обнаружении ошибки программа будет аварийно завершена.При обнаружении исключения оно генерируется и перехватывается ключевыми словами throw и catch соответственно.
ТипыОшибки классифицируются как непроверенный тип.Исключения классифицируются как проверенные или непроверенные.
пакетВ Java ошибки определяются пакетом "java.lang.Error".В Java исключения определены в «java.lang.Exception».
примерOutOfMemory, StackOverFlow.Проверенные исключения: NoSuchMethod, ClassNotFound.
Непроверенные исключения: NullPointer, IndexOutOfBounds.

Определение ошибки

« Ошибка » является подклассом встроенного класса «Throwable». Ошибки - это критические условия, возникающие из-за нехватки системных ресурсов, и они не могут быть обработаны кодом программы. Ошибки не могут быть восстановлены никакими средствами, потому что они не могут быть созданы, брошены, пойманы или отвечены. Ошибки возникают из-за катастрофического сбоя, который обычно не может быть обработан вашей программой.

Ошибки всегда имеют непроверенный тип, так как компилятор не знает о его возникновении. Ошибки всегда возникают в среде выполнения. Ошибка может быть объяснена с помощью примера, в программе есть ошибка переполнения стека, ошибка нехватки памяти или ошибка системного сбоя, ошибки такого рода происходят из-за системы. Код не несет ответственности за такие ошибки. Следствием возникновения ошибки является аварийное завершение программы.

Определение исключения

«Исключение» также является подклассом встроенного класса «Throwable». Исключением являются исключительные условия, возникающие в среде выполнения. В большинстве случаев исключения вызываются из-за кода нашей программы. Но исключения могут обрабатываться самой программой, так как исключения могут быть восстановлены. Исключения обрабатываются с помощью трех ключевых слов «try», «catch», «throw». Синтаксис написания исключения:

 попробуй {// напиши свой код здесь} Catch (Тип исключения) {// напиши свой код здесь} 

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

Проще говоря, мы можем сказать, что ошибки, произошедшие из-за неправильного кода, называются исключениями. Например, если запрошенный класс не найден или запрошенный метод не найден. Такие исключения происходят из-за кода в программе; система не несет ответственности за подобные исключения. Исключения классифицируются как «проверенные» и «непроверенные». Непроверенные исключения не известны компилятору, так как они возникают во время выполнения, тогда как компилятор обладает знаниями о проверенных исключениях, поскольку они известны компилятору во время компиляции.

Ключевые различия в ошибках и исключениях

  1. Ошибка возникает только в случае недостатка системных ресурсов, тогда как исключение вызывается, если в коде есть проблемы.
  2. Ошибка никогда не может быть восстановлена, тогда как исключение можно восстановить, подготовив код для обработки исключения.
  3. Ошибка не может быть обработана, но код может обрабатывать исключение, если код, генерирующий исключение, записан внутри блока try и catch.
  4. Если произошла ошибка, программа будет прервана ненормально. С другой стороны, если возникнет исключение, программа сгенерирует исключение, и оно обрабатывается с использованием блока try и catch.
  5. Ошибки имеют непроверенный тип, т.е. ошибки не известны компиляторам, а исключение классифицируется как проверенное и непроверенное.
  6. Ошибки определены в пакете java.lang.Error, тогда как исключение определено как java.lang.Exception.

Заключение:

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

Top