From d8c9b1f7adea19ff4c8f4f11f35dc839240f9bf3 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 18 Jun 2015 13:12:01 +0800 Subject: [PATCH] Seems UPGRADING is not merged... --- UPGRADING | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/UPGRADING b/UPGRADING index 8d97e5576e..a3d0cbfde6 100644 --- a/UPGRADING +++ b/UPGRADING @@ -323,21 +323,21 @@ Relevant RFCs: Changes to error handling ------------------------- -* The new base class of the exception hierarchy is BaseException, from which - Exception extends. Typehints in exception handling code may need to be changed - to account for this. +* There are now two exception classes: Exception and Error. Both classes + implement a new interface Throwable. Type hints in exception handling code + may need to be changed to account for this. -* Some fatal errors and recoverable fatal errors now throw an EngineException - instead. As EngineException extends BaseException but not Exception, these - exceptions will not caught by existing try/catch blocks. +* Some fatal errors and recoverable fatal errors now throw an Error instead. + As Error is a separate class from Exception, these exceptions will not be + caught by existing try/catch blocks. For the recoverable fatal errors which have been converted into an exception, it is no longer possible to silently ignore the error from an error handler. - In particular, it is no longer possible to ignore typehint failures. + In particular, it is no longer possible to ignore type hint failures. -* Parser errors now generate a ParseException (extends BaseException). Error +* Parser errors now generate a ParseError that extends Error. Error handling for eval()s on potentially invalid code should be changed to catch - ParseException in addition to the previous return value / error_get_last() + ParseError in addition to the previous return value / error_get_last() based handling. * Constructors of internal classes will now always throw an exception on @@ -347,6 +347,7 @@ Changes to error handling Relevant RFCs: * https://wiki.php.net/rfc/engine_exceptions_for_php7 +* https://wiki.php.net/rfc/throwable-interface * https://wiki.php.net/rfc/internal_constructor_behaviour * https://wiki.php.net/rfc/reclassify_e_strict -- 2.40.0