Expression switch exception naming
Brian Goetz
brian.goetz at oracle.com
Wed Mar 28 15:51:43 UTC 2018
> NoCaseMatchError (or any other name) which is a subtype of IncompatibleClassChangeError.
I buy the "subtype of ICCE" argument, but it seems to me these need to
be exceptions, not errors. (Thought experiment: if we already had both
ICC{Exception,Error}, would we have jumped so fast to Error? I don't
think so.) I'd support adding ICEException and having these be subtypes.
Adding a new enum value is not the same sort of obviously-incompatible
change as changing a static method to instance, or a concrete method to
abstract, which are the sorts of things that trigger ICCError.
On the naming front, I would think this is more in the category of
"unexpected class change exception" than "incompatible change." Adding a
new enum constant isn't intrinsically evil. If anything, the issue is
on the client, who relied on the assumption of of exhaustiveness.
More information about the amber-spec-experts
mailing list