On Tue, Jul 24, 2012 at 9:43 PM, Andrew Faulds <a...@ajf.me> wrote:
> On 24/07/12 14:40, Levi Morrison wrote:
>>
>> On Tue, Jul 24, 2012 at 7:35 AM, Nikita Popov <nikita....@gmail.com>
>> wrote:
>>>
>>> On Tue, Jul 24, 2012 at 1:20 PM, Laruence <larue...@php.net> wrote:
>>>>
>>>> Hi:
>>>>      As the previous threads disscussed,  I make a implemention.
>>>>
>>>>      here is the RFC: https://wiki.php.net/rfc/finally
>>>>
>>>>      any suggestions?
>>>
>>> The finally clause comes with a very strong promise that the code in
>>> the clause will run in absolutely any case (short of sigkill, maybe).
>>> In particular this means that...
>>> ... if a die() is execute somewhere in the try clause (or a called
>>> function) the finally clause must still be run.
>>> ... if a parse error or other fatal error occurs in the try clause (or
>>> called function) the finally clause must still be run.
>>> ... if the user interrupts the process the finally clause must still be
>>> run.
>>>
>>> Basically this requires that all of the actions that are currently
>>> fatal need to be converted to exceptions. E.g. Python has special
>>> SystemExit and KeyboardInterrupt exceptions, as well as SyntaxError
>>> and so on.
>>>
>>> I obviously think that PHP should adopt this model too (as it gives
>>> the programmer more control), but until all fatal actions are turned
>>> into exceptions, I'm strongly against introducing "finally". The main
>>> point of the clause is to have a guarantee, and that is simply
>>> currently not present. You actually get a better guarantee if you just
>>> use destructors.
>>>
>>> Nikita
>>>
>>> --
>>> PHP Internals - PHP Runtime Development Mailing List
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>> I definitely agree with Mr. Nikita Popov. Unless we have a
>> guarantee of `finally` running for PHP fatal errors, then this is not
>> particularly useful.
>>
> I also agree with Mr. Popov here. PHP's fatal errors are, well, fatal,
> meaning we can do absolutely nothing about them. I guess that's something to
> change for PHP6: making them into serious exceptions, but ones that can be
> caught (maybe a different class, like Java's RuntimeErrors and Exceptions,
> IIRC). Obviously things like running out of memory can't be dealt with,
> though.
Hi:
   FATAL ERRORS in PHP is kind of static errors, which means it can be
avoided by well programing.

   however as Rasmus said,  it's not we can't guarantee
that(zend_try), it's just not necessary for the 'finally' keyword,

   *finally for exceptions*

thanks
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to