Как JVM обрабатывает RuntimeException(s)

При создании пользовательских исключений, если мы хотим создать исключение checked, мы расширяем класс Exception, а для исключения unchecked мы расширяем класс RuntimeException. Мой вопрос заключается в том, как JVM по-разному обрабатывает подклассы RuntimeException и Exception, когда все они являются подклассами класса Exception.


person gaurs    schedule 17.07.2014    source источник


Ответы (2)


Это не так. Единственная разница заключается в требованиях, устанавливаемых компилятором.

person chrylis -cautiouslyoptimistic-    schedule 17.07.2014

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

И на это есть простой ответ: в правиле не указано, что все подклассы Exception являются проверенными исключениями. Те, которые также являются подклассами RuntimeException, не отмечены.

person William F. Jameson    schedule 17.07.2014
comment
Спасибо за ответ, Уильям. На самом деле это было моей проблемой. Оба подкласса, являющиеся экземпляром типа Exception, по-прежнему обрабатываются компилятором по-разному. Более того, вы сказали, что в правиле не говорится, что все подклассы Exception являются проверенными исключениями, но тогда почему каждый подкласс Exception (только) рассматривается как проверенное исключение. - person gaurs; 17.07.2014
comment
Я не понимаю вашего вопроса: каждый подкласс Exception, который не является также подклассом RuntimeException, рассматривается как проверенное исключение, это определение. Что вы имеете в виду под словом «как получилось»? - person William F. Jameson; 17.07.2014