sitilge February 2016
Error and exception handling in php7
Recently moved to php7. The following error occurs:
argument 1 passed to MyClass\Throwable::exceptionHandler() must be an instance of Exception, instance of Error given
And the respective class
public function exceptionHandler(\Exception $exception)
As stated in docs
most errors are now reported by throwing Error exceptions.
Does it mean that I have to provide an instance of
Error or even more general
Throwable to the exception handler?
DanielM February 2016
Exceptions both extend
Throwable however Errors are not extended from
Therefore, your ExceptionHandler must accept an object of Type
Throwable in order to accept
Simplest fix is this, though you may want to rename $exception to make it clear.
public function exceptionHandler(\Throwable $exception)
Note: The new
Error class should not be confussed with an
ErrorException which has classicly been used as a device for turning PHP 5 errors into
Exception objects with symantic meaning.
Asked in February 2016
Viewed 3,843 times
Answered 1 times
Leave an answer
Quote of the day: live life