Следующий код компилируется нормально, даже если блок try фактически не выбрасывает исключение.Исключение исключения исключений Java Исключение против IOException
public static void main(String[] args) {
try {}
catch (Exception e) {} // compiles ok
}
Но если улов заменен подклассом Exception, код не будет компилироваться.
public static void main(String[] args) {
try {}
catch (IOException e) {} // won't compile.
}
Ошибка компилятора: недостижимый блок catch для исключения IOException. Это исключение никогда не выбрасывается из тела оператора try.
Как это происходит, когда оба исключения & IOException проверяются исключениями? Я использую Java 7.
'RuntimeException' также являются 'Exception', поэтому не все Исключения проверяются. –