On Tue, Feb 23, 2021 at 5:12 PM Nikita Popov wrote:
> On Tue, Feb 23, 2021 at 4:52 PM Guilliam Xavier
> wrote:
>
>> On Fri, Feb 5, 2021 at 2:10 PM G. P. B. wrote:
>>
>> > Greetings internals,
>> >
>> > While working on rewriting the PHP docs about errors and error handling
>> [1]
>> > I came
On Tue, Feb 23, 2021 at 4:52 PM Guilliam Xavier
wrote:
> On Fri, Feb 5, 2021 at 2:10 PM G. P. B. wrote:
>
> > Greetings internals,
> >
> > While working on rewriting the PHP docs about errors and error handling
> [1]
> > I came across a change of behaviour in an edge case of an edge case.
> >
>
On Fri, Feb 5, 2021 at 2:10 PM G. P. B. wrote:
> Greetings internals,
>
> While working on rewriting the PHP docs about errors and error handling [1]
> I came across a change of behaviour in an edge case of an edge case.
>
> finally blocks are meant to be always executed regardless that an
Executing finally blocks after a die was discussed in
https://externals.io/message/107497 "exit() via exception", but
https://github.com/php/php-src/pull/5243 "Make exit() unwind properly"
wasn't merged in 8.0, just https://github.com/php/php-src/pull/5768 "...
(minimal version)".
The change of
Interesting. I'm not sure there's a "correct" answer here, but FWIW on
balance my feeling is the expectation that exit() will immediately
terminate a script (registered shutdown functions and destructors aside)
should take precedence over the expectation that finally blocks will always
execute,