Hi!

> You are incorrect. The set of exceptions that `catch (Exception)` 
> catches is all exceptions by its definition. By altering it to no

There's no such definition. It's invented to serve your point, which
makes it circular logic. catch(Exception) catches everything that
descends from Exception. It is true that throwables that do not descend
from Exception did not exist before, however their exact semantics was
implemented as engine errors, so nothing changed in that regard.
catch(Exception) did not catch parse errors, it still doesn't.

> longer include all exceptions means the semantics of it changed.

No, it doesn't mean that. It catches every exception descended from
class Exception as it did before. Nobody guaranteed you - and if fact it
never were true - that there are no other situations which can lead to
early exit from the code and that catch(Exception) can't catch. It is
still the case. Before, these things were implemented as "errors", now
some of them are implemented as exceptions. That's an implementation
detail, semantic hasn't changed - except for the fact that you can now
catch more of them is you wanted.

-- 
Stas Malyshev
smalys...@gmail.com

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

Reply via email to