On 05/16/2015 10:57 PM, Stanislav Malyshev wrote: > I am assuming we have broad consensus about the move from BaseException > to Throwable. I've looked at the patch at > https://github.com/php/php-src/pull/1282 and it seems pretty close to > what we want to me. The only difference is that > https://wiki.php.net/rfc/throwable says Throwable is an interface and > this patch makes it abstract class
It is supposed to be an interface. It it's not then it's a mistake in the patch. I strongly believe that the hierarchy for exceptions thrown by the engine must be separate from the hierarchy for exception thrown by userland code (and "regular" extensions such as Reflection, etc.). The whole purpose of the Throwable interface is to mark objects of both hierarchies as throwable. Whether we name the base class of the hierarchy for exceptions thrown by the engine Error or EngineException, I don't really care. But Error feels more right to me than EngineException. I do care, though, about the fact that userland code (and "regular" extensions such as Reflection, etc.) must not throw engine exceptions. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php