PHP中的错误处理set_error_handler()与trigger_error()的问题

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








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值