Poniższy kod kompiluje się poprawnie, mimo że blok try nie powoduje żadnego wyjątku.Wyjątek wyjątku języka Java Wyjątek w porównaniu z wyjątkiem IOException
public static void main(String[] args) {
try {}
catch (Exception e) {} // compiles ok
}
Ale jeśli połów zostanie zastąpiony podtypem wyjątku, kod nie zostanie skompilowany.
public static void main(String[] args) {
try {}
catch (IOException e) {} // won't compile.
}
Błąd kompilatora: Nieosiągalny blok catch dla wyjątku IOException. Ten wyjątek nigdy nie jest generowany z treści instrukcji try.
W jaki sposób to zachowanie, gdy wyjątki dotyczą wyjątku IOException wyjątku &? Używam Java 7.
'Wyjątki RuntimeException's są również' wyjątkami', więc nie wszystkie wyjątki są sprawdzane. –