RunTimeExcception проверен/не проверен?

Меня смущает проверенное/непроверенное исключение. Я думаю, что RunTimeException - это непроверенное исключение, тогда почему оно относится к классу Exception ??

Рассмотрим случай. Мой конструктор суперкласса выдает RunTimeException, а конструктор подкласса ничего не выдает. Тогда он не даст никакой ошибки времени компиляции в подклассе. Почему это происходит, даже если RuntimeException является непроверенным исключением?

Такс, Гунджан Шах.


person Gunjan Shah    schedule 09.05.2012    source источник


Ответы (1)


Проверяемое исключение — это любой подкласс Exception (или самого Exception), за исключением класса RuntimeException и его подклассов.

Проверка исключения заставляет программистов-клиентов иметь дело с возможностью того, что исключение будет сгенерировано. например, исключение IOException, вызванное методом read() класса java.io.FileInputStream.

Непроверенными исключениями являются RuntimeException и любые его подклассы. Класс Error и его подклассы также не проверяются.

Однако с непроверенным исключением компилятор не заставляет программистов-клиентов ни перехватывать исключение, ни объявлять его в предложении throws. На самом деле клиентские программисты могут даже не знать, что исключение может быть сгенерировано. например, StringIndexOutOfBoundsException, созданный методом charAt() String.

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

person nnhthuan    schedule 09.05.2012