PHP中的错误处理set_error_handler()与trigger_error()的问题
2016-10-25 23:05
651 查看
php中可以通过set_error_handler()来设置自定义的错误处理函数。同时trigger_error()用于触发用户级别的错误.
两种都可以设置第二个参数来规定错误级别。
如果set_error_handler没有定义第二个参数,那么trigger_error()触发什么样的错误(E_USER_NOTICE,E_USER_WARNING,E_USER_ERROR),就会调用自定义函数,触发什么样的错误。
如果set_error_handler与trigger_error()两者都有第二个参数,但触发的错误类型不一致,那么trigger_error()不会调用自定义的错误处理函数。除非两者一致。
eg:
<?php
function custom_err($errno,$errstr)
{
echo "<b>[".$errno."]:</b>".$errstr;
}
set_error_handler("custom_err",E_USER_NOTICE);
$test=2;
if($test>1)
{
trigger_error("there is a error!",E_USER_WARNING);
}
?>
两种都可以设置第二个参数来规定错误级别。
如果set_error_handler没有定义第二个参数,那么trigger_error()触发什么样的错误(E_USER_NOTICE,E_USER_WARNING,E_USER_ERROR),就会调用自定义函数,触发什么样的错误。
如果set_error_handler与trigger_error()两者都有第二个参数,但触发的错误类型不一致,那么trigger_error()不会调用自定义的错误处理函数。除非两者一致。
eg:
<?php
function custom_err($errno,$errstr)
{
echo "<b>[".$errno."]:</b>".$errstr;
}
set_error_handler("custom_err",E_USER_NOTICE);
$test=2;
if($test>1)
{
trigger_error("there is a error!",E_USER_WARNING);
}
?>
相关文章推荐
- PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,regis
- PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,register_shutdown_function
- PHP 错误与异常 笔记与总结(8)自定义错误处理函数 set_error_handler()
- PHP错误处理函数set_error_handler()的用法
- PHP错误处理函数set_error_handler()的用法[转载]
- PHP 使用回调函数(set_error_handler)处理异常和错误
- set_error_handler自定义错误处理
- PHP用set_error_handler()拦截程序中的错误
- PHP set_error_handler() 函数与 trigger_error() 函数的配合使用
- PHP 自定义错误处理函数trigger_error()
- PHP 自定义错误处理函数trigger_error()
- set_error_handler自定义错误处理
- set_error_handler() 顾名思义,自定义错误的处理
- PHP用set_error_handler()拦截程序中的错误
- PHP错误处理:die()Vs trigger_error()Vs throw异常
- session_set_save_handler函数问题,在自定义的处理函数中不能调用数据库类,求解
- ecshop2.7.3 在php5.4下的各种错误问题处理
- PHPdragon framework(2) 接管PHP中系统报错机制:set_exception_handler和set_error_handler函数
- ecshop2.7.3 在php5.4下的各种错误问题处理
- HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-ISAPI-4.0_32bit”在其模块