定义和用法
set_exception_handler() 函数设置用户自定义的异常处理函数。
该函数用于创建运行时期间的用户自己的异常处理方法。
该函数会返回旧的异常处理程序,若失败,则返回 null。
语法
set_exception_handler(exception_function)
参数 | 描述 |
---|---|
error_function |
必需。规定未捕获的异常发生时调用的函数。 该函数必须在调用 set_exception_handler() 函数之前定义。 这个异常处理函数需要需要一个参数,即抛出的 exception 对象。 |
例子:
function exceptionHandler($exception) { $errmsg = "[".date("Y-m-d H:i:s")."] ".$exception->getMessage()."\n";
$errmsg .= "REQUEST: ".print_r($_REQUEST, true)."\n";
$errmsg .= "Server: ".print_r($_SERVER['REQUEST_URI'], true)."\n"; error_log($errmsg, 3, ERROR_LOG); }
set_exception_handler('exceptionHandler');
定义和用法
set_error_handler() 函数设置用户自定义的错误处理函数。
该函数用于创建运行时期间的用户自己的错误处理方法。
该函数会返回旧的错误处理程序,若失败,则返回 null。
语法
set_error_handler(error_function,error_types)
参数 | 描述 |
---|---|
error_function | 必需。规定发生错误时运行的函数。 |
error_types | 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。 |
提示和注释
提示:如果使用了该函数,会完全绕过标准的 PHP 错误处理函数,如果必要,用户定义的错误处理程序必须终止 (die() ) 脚本。
注释:如果在脚本执行前发生错误,由于在那时自定义程序还没有注册,因此就不会用到这个自定义错误处理程序。
例子:
function errorHandler($errno, $errstr, $errfile, $errline) { $errmsg = "[".date("Y-m-d H:i:s")."] [{$errno}] {$errstr}\n";
$errmsg .= "Error on line {$errline} in {$errfile}\n\n";
$errmsg .= "REQUEST: ".print_r($_REQUEST, true)."\n";
$errmsg .= "Server: ".print_r($_SERVER['REQUEST_URI'], true)."\n"; error_log($errmsg, 3, ERROR_LOG); die();
}
set_error_handler("errorHandler");