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);
}
?>