php触发器同时插入,PHP之自定义错误触发器

上一篇文章讲了《PHP之自定义错误处理器》,那么今天分享的是自定义错误触发器,那么触发器和处理器有什么关系和区别呢?接下来慢慢和大家分享。

首先我们来解释一下什么是触发器,从W3school上定义为在脚本中用户输入数据的位置,当用户的输入无效时触发的错误我们就可以称为错误触发器,那么在 PHP 中,这个任务由 trigger_error() 函数来完成的。

例如:

$page = 100;

if ($page>200) {

//调用触发器

trigger_error("你输入的页数过大");

exit();

}

?>

运行后显示:

Notice: 你输入的页数过大 in D:webtesterror3.php on line 5

那么同样,我们依然可以自定他的触发器显示错误。

我们也是按错之前一样的步骤,自定义一个错误显示函数,如下:

functionmy_error($errno,$errmsg){echo"错误号:".$errno."
";echo"错误信息:".$errmsg;

}

然后同样通过set_error_handler()函数来重写掉默认的错误触发器显示,如下:

set_error_handler("my_error",E_USER_WARNING);

当然,这里的第二个参数建议填写以E_USER开头的错误类型,其中包含以下几种类型选择:

E_USER_ERROR – 致命的用户生成的 run-time 错误。错误无法恢复。脚本执行被中断。

E_USER_WARNING – 非致命的用户生成的 run-time 警告。脚本执行不被中断。

E_USER_NOTICE – 默认。用户生成的 run-time 通知。脚本发现了可能的错误,也有可能在脚本运行正常时发生。

而同事,当你选择了其中的一种错误类型后,我们需要在之前的程序错误触发器中增加一个同等类型的错误类型,否则不会正常运行自定义错误触发器显示,所以添加trigger_error()函数的第二个参数错误类型同样为set_error_handler()函数的错误类型,即E_USER_ERROR、E_USER_WARNING或者E_USER_NOTICE,如下:

$page = 100;

if ($page>200) {

//调用触发器

trigger_error("你输入的页数过大",E_USER_WARNING);

exit();

}

?>

此时执行编写的程序页面显示如下:

错误号:512

错误信息:你输入的页数过大

然后大家再返回到之前分享的《PHP之自定义错误处理器》进行比较,你就会很清晰的知道他们的区别了。

好了,今天就分享这个,希望大家继续在喜欢的行业路上坚定不移的走下去,总有一天你会成就自己的,无论什么情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值