Latest web development tutorials
 

PHP set_error_handler() Function

< PHP Error Reference

Example

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

<?php
// 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
set_error_handler("myErrorHandler");

$test=2;

// 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.


Syntax

set_error_handler(errorhandler,E_ALL|E_STRICT);

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