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