При создании пользовательских исключений, если мы хотим создать исключение checked, мы расширяем класс Exception, а для исключения unchecked мы расширяем класс RuntimeException. Мой вопрос заключается в том, как JVM по-разному обрабатывает подклассы RuntimeException и Exception, когда все они являются подклассами класса Exception.
Как JVM обрабатывает RuntimeException(s)
Ответы (2)
Это не так. Единственная разница заключается в требованиях, устанавливаемых компилятором.
person
chrylis -cautiouslyoptimistic-
schedule
17.07.2014
Вы ошибаетесь, говоря, что JVM обрабатывает исключения по-разному, но ваш вопрос остается в силе, если вы спрашиваете, как компилятор обрабатывает их по-разному.
И на это есть простой ответ: в правиле не указано, что все подклассы Exception
являются проверенными исключениями. Те, которые также являются подклассами RuntimeException
, не отмечены.
person
William F. Jameson
schedule
17.07.2014
Спасибо за ответ, Уильям. На самом деле это было моей проблемой. Оба подкласса, являющиеся экземпляром типа Exception, по-прежнему обрабатываются компилятором по-разному. Более того, вы сказали, что в правиле не говорится, что все подклассы Exception являются проверенными исключениями, но тогда почему каждый подкласс Exception (только) рассматривается как проверенное исключение.
- person gaurs; 17.07.2014
Я не понимаю вашего вопроса: каждый подкласс
Exception
, который не является также подклассом RuntimeException
, рассматривается как проверенное исключение, это определение. Что вы имеете в виду под словом «как получилось»?
- person William F. Jameson; 17.07.2014