Re: [VOTE] Allowing use of exceptions in the engine

From: Date: Sat, 07 Dec 2013 23:31:41 +0000
Subject: Re: [VOTE] Allowing use of exceptions in the engine
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-70526@lists.php.net to get a copy of this message
On Sat, Dec 7, 2013 at 10:47 PM, Adam Harvey <aharvey@php.net> wrote: > On 7 December 2013 04:57, Nikita Popov <nikita.ppv@gmail.com> wrote: > > I opened the vote on the "Exceptions in the engine" RFC: > > > > https://wiki.php.net/rfc/engine_exceptions#vote > > > > The vote has three options, "Yes", "No" and "Yes, without > > E_RECOVERABLE_ERROR changes". The last option is a version of the > proposal > > without BC issues. > > > > And regarding the vote: If you are in favor of the proposal in general, > but > > want to have it in PHP 6 rather than PHP 5.6, then vote "No" here. If it > > fails now, someone can revive this once the time for PHP 6 has come. > > To be clear: I've voted -1 for exactly this reason, and this reason > alone. I don't think implementing this piecemeal (without the > E_RECOVERABLE_ERROR changes) is the right way to go — I would prefer > to have the whole thing as part of a 6.0 release, rather than > potentially confusing users with a partial implementation. > If you're concerned about E_RECOVERABLE_ERROR in particular I should point out that there are very few recoverable fatals in the engine. Actually, the only common recoverable error is the typehint violation error. The others are along the lines of "Instantiation of 'Closure' is not allowed" or "Closure object cannot have properties" - not something you usually encounter. For a full list see http://lxr.php.net/search?q=E_RECOVERABLE_ERROR&defs=&refs=&path=Zend&hist=&project=PHP_TRUNK. So I don't think that E_RECOVERABLE_ERROR is a particularly large loss in itself - but the "partial implementation" argument presumably still stands even without it (won't be able to port all fatal errors at once, after all.) Nikita

« previous php.internals (#70526) next »