PHP set_error_handler() Function

PHP Error Reference


Set a user-defined error handler function with the set_error_handler() function, and trigger an error (with trigger_error()):

// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
    echo "<b>Custom error:</b> [$errno] $errstr<br>";
    echo " Error on line $errline in $errfile<br>";

// Set user-defined error handler function


// Trigger error
if ($test>1) {
    trigger_error("A custom error has been triggered");

The above code will output something like this:

Custom error: [1024] A custom error has been triggered
Error on line 14 in C:\webfolder\test.php

Definition and Usage

The set_error_handler() function sets a user-defined error handler function.

Note: The standard PHP error handler is completely bypassed if this function is used, and the user-defined error handler must terminate the script, die(), if necessary.

Note: If errors occur before the script is executed the custom error handler cannot be used since it is not registered at that time.



Parameter Description
errorhandler Required. Specifies the name of the function to be run at errors
E_ALL|E_STRICT Optional. Specifies on which error report level the user-defined error will be shown. Default is "E_ALL"

Technical Details

Return Value: A string that contains the previously defined error handler
PHP Version: 4.0.1+
PHP Changelog: PHP 5.5: The parameter errorhandler now accepts NULL
PHP 5.2: The error handler must return FALSE to populate $php_errormsg

PHP Error Reference