<?php
class ExceptionHandler
{
public function __construct()
{
set_exception_handler($this);
}
public function __invoke(Exception $e)
{
echo $exception->getMessage();
}
}
function error($no, $message)
{
throw new Exception($message);
}
set_error_handler('error');
new ExceptionHandler;
throw new Exception("Test");
Fatal error: Uncaught Exception: Undefined variable: exception in /in/cVKVY:18
Stack trace:
#0 /in/cVKVY(12): error(8, 'Undefined varia...', '/in/cVKVY', 12, Array)
#1 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#2 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Uncaught exception 'Exception' with message 'Undefined variable: exception' in /in/cVKVY:18
Stack trace:
#0 /in/cVKVY(12): error(8, 'Undefined varia...', '/in/cVKVY', 12, Array)
#1 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#2 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 5.3.18 - 5.3.29, 5.4.8 - 5.4.45
Warning: Uncaught exception 'Exception' with message 'Undefined variable: exception' in /in/cVKVY:18
Stack trace:
#0 /in/cVKVY(12): error(8, 'Undefined varia...', '/in/cVKVY', 12, Array)
#1 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#2 {main}
thrown in /in/cVKVY on line 18
Fatal error: Call to a member function getMessage() on a non-object in /in/cVKVY on line 12
Process exited with code 255.
Output for 5.3.3 - 5.3.17, 5.4.0 - 5.4.7
Fatal error: Call to a member function getMessage() on a non-object in /in/cVKVY on line 12
Process exited with code 255.
Output for 5.3.0 - 5.3.2
Fatal error: Call to a member function getMessage() on a non-object in /in/cVKVY on line 0
Process exited with code 255.
Output for 5.2.0 - 5.2.17
Fatal error: Uncaught exception 'Exception' with message 'Object of class ExceptionHandler could not be converted to string' in /in/cVKVY:18
Stack trace:
#0 [internal function]: error(4096, 'Object of class...', '/in/cVKVY', 7, Array)
#1 /in/cVKVY(7): set_exception_handler(Object(ExceptionHandler))
#2 /in/cVKVY(22): ExceptionHandler->__construct()
#3 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 5.0.5, 5.1.0 - 5.1.6
Fatal error: Uncaught exception 'Exception' with message 'set_exception_handler() expects the argument (Object id #1) to be a valid callback' in /in/cVKVY:18
Stack trace:
#0 [internal function]: error(2, 'set_exception_h...', '/in/cVKVY', 7, Array)
#1 /in/cVKVY(7): set_exception_handler(Object(ExceptionHandler))
#2 /in/cVKVY(22): ExceptionHandler->__construct()
#3 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 5.0.3 - 5.0.4
Fatal error: Uncaught exception 'Exception' with message 'set_exception_handler() expects the argument (Object id #1) to be a valid callback' in /in/cVKVY:18
Stack trace:
#0 /in/cVKVY(18): error()
#1 /in/cVKVY(7): error(2, 'set_exception_h...', '/in/cVKVY', 7, Array)
#2 /in/cVKVY(7): set_exception_handler(Object(ExceptionHandler))
#3 /in/cVKVY(22): ExceptionHandler->__construct()
#4 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 5.0.0 - 5.0.2
Fatal error: Uncaught exception 'Exception' with message 'set_exception_handler() expects the argument (Object id #1) to be a valid callback' in /in/cVKVY:18
Stack trace:
#0 /in/cVKVY(7): error(2, 'set_exception_h...', '/in/cVKVY', 7, Array)
#1 /in/cVKVY(7): set_exception_handler(Object(ExceptionHandler))
#2 /in/cVKVY(22): ExceptionHandler->__construct()
#3 {main}
thrown in /in/cVKVY on line 18
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/cVKVY on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/cVKVY on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/cVKVY on line 5
Process exited with code 255.