Sealed Exception
Zheka Kozlov
orionllmain at gmail.com
Fri Sep 24 08:30:54 UTC 2021
Hi!
Java 17 compiler forces me to insert an unreachable catch block for the
base Exception:
public static void main(String[] args) {
try {
f();
} catch (Ex1 e) {
e.printStackTrace();
} catch (Ex2 e) {
e.printStackTrace();
} catch (BaseEx e) {
// Unreachable
}
}
private static void f() throws BaseEx {
}
sealed abstract class BaseEx extends Exception permits Ex1, Ex2 {
}
Otherwise it doesn't compile. Was this decision intentional? If yes, why?
If not, can we fix it? I see this as an unfortunate limitation.
With best regards, Zheka Kozlov.
More information about the amber-dev
mailing list