PHP中通过trigger_error触发PHP错误示例


Posted in PHP onJune 23, 2015

PHP中通过trigger_error触发PHP错误示例

【错误抑制符@】

除了 php.ini 中 error_reporting 和 display_errors 的设置、error_reporting() 函数、ini_set() 函数 外,还可以使用错误抑制符@ 屏蔽错误的输出。

@ 加在任何会产生错误的表达式之前。

【通过 trigger_error 触发 PHP 错误】

触发错误的功能不只限于 PHP 解析器,还可以通过 trigger_error() 函数触发错误,类似于异常中抛出的异常一样,抛出了一个错误,可以协助调试代码。

【例】

<?php

$num1 = 1;

$num2 = '2';

if(!(is_numeric($num1) && is_numeric($num2))){

    //手动抛出通知级别的错误

    trigger_error('num1 和 num2 必须为合法数值', E_USER_NOTICE);

}else{

    echo $num1 + $num2;

}
echo '<br />程序继续向下执行';

输出:

3

程序继续向下执行

而:
<?php

$num1 = 1;

$num2 = '2a';

if(!(is_numeric($num1) && is_numeric($num2))){

    //手动抛出通知级别的错误

    trigger_error('num1 和 num2 必须为合法数值', E_USER_NOTICE);

}else{

    echo $num1 + $num2;

}
echo '<br />程序继续向下执行';

输出:

( ! ) Notice: num1 和 num2 必须为合法数值 in D:\practise\php\Error\error1.php on line 6

程序继续向下执行

【其他】当数据库连接不上时等严重错误时,可以手动抛出错误 —— 用 E_USER_ERROR 取代 PHP 内置的E_WARNING 警告。

PHP 相关文章推荐
MySQL授权问题总结
May 06 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
Sep 29 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
thinkphp分页实现效果
Oct 13 PHP
thinkPHP中验证码的简单实现方法
Dec 05 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
php实现微信支付之企业付款
May 30 PHP
PHP实现链式操作的核心思想
Jun 23 #PHP
PHP魔术方法的使用示例
Jun 23 #PHP
8个PHP数组面试题
Jun 23 #PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 #PHP
php发送邮件的问题详解
Jun 22 #PHP
PHP获取音频文件的相关信息
Jun 22 #PHP
php生成PDF格式文件并且加密
Jun 22 #PHP
You might like
PHP模板引擎SMARTY
2006/10/09 PHP
PHP入门
2006/10/09 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
destoon官方标签大全
2014/06/20 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
优秀中学生事迹材料
2014/01/31 职场文书
药品采购员岗位职责
2014/02/08 职场文书
挂职自我鉴定
2014/02/26 职场文书
货车司机岗位职责
2014/03/18 职场文书
文案策划专业自荐信
2014/07/07 职场文书
校园运动会广播稿
2014/10/06 职场文书
市场营销计划书
2015/01/17 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
比较node.js和Deno
2021/04/27 Javascript