Re: [VOTE] Exceptions in the engine
| From: | Levi Morrison | Date: | Sat, 16 May 2015 19:03:38 +0000 |
| Subject: | Re: [VOTE] Exceptions in the engine | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-86256@lists.php.net to get a copy of this message | ||
On Sat, May 16, 2015 at 12:44 PM, Levi Morrison <levim@php.net> wrote:
> On Sat, May 16, 2015 at 12:28 PM, Stanislav Malyshev
> <smalyshev@gmail.com> wrote:
>> Hi!
>>
>>> There's nothing that prevents us from reneging on that by another
>>> vote. If it's a bad decision backed by logical arguments then we can
>>
>> That's a pretty big if, given that your only argument - that it is a BC
>> break - is incorrect, as in fact the set of exceptions caught before and
>> after change is exactly the same, and the only difference is that in the
>> new code, you can *also* catch errors, the option that you didn't have
>> before. Absent that argument, there's no reason to renege.
>
> You are incorrect. The set of exceptions that
catch (Exception)
> catches is all exceptions by its definition. By altering it to no
> longer include all exceptions means the semantics of it changed.
From our manual (http://php.net/manual/en/language.exceptions.php):
> The thrown object must be an instance of the Exception class or a subclass of Exception.