Skip to content

Commit

Permalink
Seems UPGRADING is not merged...
Browse files Browse the repository at this point in the history
  • Loading branch information
laruence committed Jun 18, 2015
1 parent 4fb3627 commit d8c9b1f
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand Down

0 comments on commit d8c9b1f

Please sign in to comment.