Сравнительная таблица
Основа для сравнения | ошибка | исключение |
---|---|---|
основной | Ошибка вызвана из-за нехватки системных ресурсов. | Исключение вызвано из-за кода. |
восстановление | Ошибка необратима. | Исключение подлежит восстановлению. |
Ключевые слова | Нет средств для обработки ошибки с помощью программного кода. | Исключения обрабатываются с использованием трех ключевых слов «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» приведенного выше кода. «Тип исключения» - это тип возникшего исключения.
Проще говоря, мы можем сказать, что ошибки, произошедшие из-за неправильного кода, называются исключениями. Например, если запрошенный класс не найден или запрошенный метод не найден. Такие исключения происходят из-за кода в программе; система не несет ответственности за подобные исключения. Исключения классифицируются как «проверенные» и «непроверенные». Непроверенные исключения не известны компилятору, так как они возникают во время выполнения, тогда как компилятор обладает знаниями о проверенных исключениях, поскольку они известны компилятору во время компиляции.
Ключевые различия в ошибках и исключениях
- Ошибка возникает только в случае недостатка системных ресурсов, тогда как исключение вызывается, если в коде есть проблемы.
- Ошибка никогда не может быть восстановлена, тогда как исключение можно восстановить, подготовив код для обработки исключения.
- Ошибка не может быть обработана, но код может обрабатывать исключение, если код, генерирующий исключение, записан внутри блока try и catch.
- Если произошла ошибка, программа будет прервана ненормально. С другой стороны, если возникнет исключение, программа сгенерирует исключение, и оно обрабатывается с использованием блока try и catch.
- Ошибки имеют непроверенный тип, т.е. ошибки не известны компиляторам, а исключение классифицируется как проверенное и непроверенное.
- Ошибки определены в пакете java.lang.Error, тогда как исключение определено как java.lang.Exception.
Заключение:
Исключение составляют результаты ошибок, допущенных при кодировании программы, а ошибки - результат неправильного функционирования системы.