< Day Day Up > |
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 occurred This 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 occurred This 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. |
< Day Day Up > |