<?php
set_error_handler('myerrorhandler');
function myfunc(stdClass $a) {}
function myerrorhandler($errno, $errstr, $errfile, $errline, $errcontext) {
echo "Error handler\n$errno\n$errstr\n";
}
try {
myfunc('iamnotaclass');
} catch (Exception $e) {
echo "Exception\n";
var_dump($e);
} catch (Throwable $e) {
echo "Throwable\n";
var_dump($e);
}
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Throwable
object(TypeError)#1 (7) {
["message":protected]=>
string(96) "myfunc(): Argument #1 ($a) must be of type stdClass, string given, called in /in/9Qshj on line 9"
["string":"Error":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/9Qshj"
["line":protected]=>
int(3)
["trace":"Error":private]=>
array(1) {
[0]=>
array(4) {
["file"]=>
string(9) "/in/9Qshj"
["line"]=>
int(9)
["function"]=>
string(6) "myfunc"
["args"]=>
array(1) {
[0]=>
string(12) "iamnotaclass"
}
}
}
["previous":"Error":private]=>
NULL
}
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
- Throwable
object(TypeError)#1 (7) {
["message":protected]=>
string(106) "Argument 1 passed to myfunc() must be an instance of stdClass, string given, called in /in/9Qshj on line 9"
["string":"Error":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(9) "/in/9Qshj"
["line":protected]=>
int(3)
["trace":"Error":private]=>
array(1) {
[0]=>
array(4) {
["file"]=>
string(9) "/in/9Qshj"
["line"]=>
int(9)
["function"]=>
string(6) "myfunc"
["args"]=>
array(1) {
[0]=>
string(12) "iamnotaclass"
}
}
}
["previous":"Error":private]=>
NULL
}
- Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
- Error handler
4096
Argument 1 passed to myfunc() must be an instance of stdClass, string given, called in /in/9Qshj on line 9 and defined
preferences:
147.13 ms | 402 KiB | 183 Q