On 17 May 2015 16:02:40 BST, Levi Morrison <[email protected]> wrote:
>In this specific case we have broken all code out there.
Yes, in the very specific case of people who both caught all exceptions and handled all
E_RECOVERABLE errors, the existence of Throwable introduces a slightly worse BC break than without
it.
For code that catches all exceptions but doesn't handle any errors (which seems perfectly
reasonable to me), it improves BC, as they will catch only the same exceptions they already did.
It's also worth looking at the feature in its own right: if we didn't have any BC
concerns, would it seem useful to be able to catch either all userland exceptions or all system
exceptions, or both? If you were defining from scratch you could have UserException and
EngineException extending Exception, but we can't change existing uses of Exception, so
Exception and Error implementing Throwable gives us the same split.
Regards,
--
Rowan Collins
[IMSoP]