Разница между отмеченным и непроверенным исключением (с таблицей)

Оглавление:

Anonim

Проверка исключений - одна из самых важных вещей в программировании и тестировании программного обеспечения. Checked And Unchecked Exception останавливает запуск программы, когда она пытается отловить ошибку или ошибку. Более того, считается, что ответственность за недопущение подобных ошибок лежит на программисте. И Checked, и Unchecked Exception исключительно похожи, но при этом отличаются друг от друга.

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

Разница между отмеченным и непроверенным исключениями заключается в том, что отмеченные исключения - это те исключения, которые должны быть перехвачены и обработаны оператором check (), в противном случае они приведут к завершению программы и печати трассировки стека, тогда как исключенные исключения, с другой стороны, должны не нужно вообще перехватывать или обрабатывать, так как ответственность за то, чтобы эти ошибки никогда не возникали, лежит на программисте.

Исключение Checked - это особый тип исключения, которое останавливает выполнение программы до тех пор, пока оно не будет перехвачено блоком catch или не будет указано в предложении throws метода, кроме того, исключение Checked перехватывается и обрабатывается оператором check () или они вызовет завершение программы и печать трассировки стека.

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

Таблица сравнения между Отмеченное и непроверенное исключение

Параметры сравнения

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

Непроверенное исключение

Определение

Проверенные исключения - это те, которые должны быть перехвачены и обработаны операторами check (). Непроверенные исключения вообще не нужно перехватывать или обрабатывать.
Вхождение

Проверенные исключения должны обрабатываться блоком catch во время компиляции. Неперехваченные исключения, также известные как исключения времени выполнения, являются непроверенными исключениями.
Обработка ошибок

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

У него есть исключительные классы. В нем нет исключительных классов или он не является основной частью исключительных классов.
Пример

OutOfMemoryError, NullPointerException и StackOverflowError. IndexOutOfBoundsException

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

Проверенные исключения тесно связаны с тестированием программного обеспечения, более того, проверенное исключение - это исключение, которое необходимо обработать, иначе программа завершится. Это означает, что код, следующий за оператором throw, не будет выполняться, если никакой блок catch не обрабатывает исключение. Проверенные исключения служат двум целям: они останавливают продолжение программы при возникновении ошибки и могут предоставить отладочную информацию о том, где найти эту ошибку.

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

Когда генерируется исключение, оно передается отладчику в Eclipse или в операционную систему, которая затем обычно завершает программу. Операционная система распечатывает трассировку стека. Трассировка стека предоставляет информацию для каждого вызова метода в порядке их вызова. Это позволяет программисту найти, где в коде или где в потоке выполнения кода возникло исключение.

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

Существуют неотмеченные исключения, позволяющие программистам программировать более гибко и эффективно. Java был разработан, чтобы позволить программистам создавать приложения, которые эффективно используют ресурсы и избегают появления тупиковой ситуации. Непроверенные исключения могут быть устранены путем тщательного проектирования и кодирования. Однако все другие исключения, кроме NullPointerException, которые встречаются в коде Java, считаются неотмеченными.

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

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

Основные различия между отмеченным и непроверенным исключением

Вывод

Проверенное исключение - это исключение, которое необходимо обработать, иначе программа завершится. Однако исключения Unchecked - это те, которые выполняют функции остановки для всех потоков. Отмеченное и непроверенное исключение - это сигнал о сбое в коде. Это происходит, когда код пытается сделать что-то неожиданное. Если код, вызвавший исключение, не был протестирован должным образом, это может вызвать странные ошибки, которые бывает сложно найти и исправить. В некоторых случаях программисту может даже потребоваться переписать всю программу с нуля. Более того, отмеченные и непроверенные исключения тесно связаны с тестированием программного обеспечения.

использованная литература

Разница между отмеченным и непроверенным исключением (с таблицей)