您的位置:首页 > 编程语言 > PHP开发

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

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: