w catch może być kolejny try catch, wtedy nazwa wyjątku w pierwszym i drugim catch muszą być inne
w catch nie może być samego innego catch
można rzucić z metody Error:
void wykonaj() throws Error {
throw new Error();
}
finally nie wykona się jeśli rzucony zostanie error który zamknie jvm
jeśli metoda rzuca Error a my łapiemy Exception to nie złapiemy, ale finally sie wykona
ogólnie errory można rzucać i łapać jak wyjątki
można też tak:
…} catch (Throwable e) {…
private static void wykonaj() throws Throwable {
throw new Throwable();
}
java.lang.Throwable extends Object implements Serializable