Processing Errors with a Custom Handler
In PHP 4, you can enable a custom error handler for all errors by
calling set_error_handler( ). PHP 5 lets you
refine that behavior by allowing you to specify which types of errors
the handler should process.
To restrict set_error_handler( ) to a subset of
errors, pass it a second argument. For example:
set_error_handler('my_error_handler', E_NOTICE);
function my_error_handler($errno, $errstr, $errfile, $errline) {
print "A notice occurred\n";
}
$a++;
A notice occurredThis example sets my_error_handler( ) as the
handler for E_NOTICE errors, but lets PHP handle
all other error types. Since incrementing an undefined variable
triggers a notice, PHP invokes the function.
If the custom error handler returns false, then
PHP also does its own set of error handling, in addition to whatever
you code inside your handler. For instance:
set_error_handler('my_error_handler', E_NOTICE);
function my_error_handler($errno, $errstr, $errfile, $errline) {
print "A notice occurred\n";
return false;
}
$a++;
PHP Notice: Undefined variable: a...
A notice occurredThis example is identical to the last one, except that
my_error_handler( ) now returns
false. As a result, you get two sets of messages:
PHP’s and yours.