PHP函数之trigger_error
在程序开发中,如果我们编码不规范,比如调用不存在的变量、语法错误、少了个逗号,这些都会引起系统报错并进行提示,但是今天,突然发现PHP还有这样一个函数,用于自动触发一个报错提示,并且会将报错信息写入php日志,简单直接。
trigger_error
trigger_error — 产生一个用户级别的 error/warning/notice 信息
说明
bool trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ] )
用于触发一个用户级别的错误条件,它能结合内置的错误处理器所关联,或者可以使用用户定义的函数作为新的错误处理程序(set_error_handler())。
该函数在你运行出现异常时,需要产生一个特定的响应时非常有用。
参数error_type可选常量可见PHP预定义常量,找出用户级别报错常量如下
E_USER_NOTICEE_USER_WARNINGE_USER_ERRORE_USER_DEPRECATED
用法示例
在需要的地方写入下面语句
trigger_error('触发DEPRECATED提示', E_USER_DEPRECATED);
trigger_error('触发NOTICE提示', E_USER_NOTICE);
trigger_error('触发WARNING提示', E_USER_WARNING);
trigger_error('触发ERROR提示', E_USER_ERROR);
执行结果

错误日志
[26-Dec-2017 11:50:12 PRC] PHP Deprecated: 触发DEPRECATED提示 in D:\daoyan\localhost\demo.php on line 968
[26-Dec-2017 11:50:12 PRC] PHP Stack trace:
[26-Dec-2017 11:50:12 PRC] PHP 1. {main}() D:\daoyan\localhost\demo.php:0
[26-Dec-2017 11:50:12 PRC] PHP 2. trigger_error() D:\daoyan\localhost\demo.php:968
[26-Dec-2017 11:50:12 PRC] PHP Notice: 触发NOTICE提示 in D:\daoyan\localhost\demo.php on line 969
[26-Dec-2017 11:50:12 PRC] PHP Stack trace:
[26-Dec-2017 11:50:12 PRC] PHP 1. {main}() D:\daoyan\localhost\demo.php:0
[26-Dec-2017 11:50:12 PRC] PHP 2. trigger_error() D:\daoyan\localhost\demo.php:969
[26-Dec-2017 11:50:12 PRC] PHP Warning: 触发WARNING提示 in D:\daoyan\localhost\demo.php on line 970
[26-Dec-2017 11:50:12 PRC] PHP Stack trace:
[26-Dec-2017 11:50:12 PRC] PHP 1. {main}() D:\daoyan\localhost\demo.php:0
[26-Dec-2017 11:50:12 PRC] PHP 2. trigger_error() D:\daoyan\localhost\demo.php:970
[26-Dec-2017 11:50:12 PRC] PHP Fatal error: 触发ERROR提示 in D:\daoyan\localhost\demo.php on line 971
[26-Dec-2017 11:50:12 PRC] PHP Stack trace:
[26-Dec-2017 11:50:12 PRC] PHP 1. {main}() D:\daoyan\localhost\demo.php:0
[26-Dec-2017 11:50:12 PRC] PHP 2. trigger_error() D:\daoyan\localhost\demo.php:971
总结
通过这个函数发现抛异常并将异常消息写入项目日志的错误日志也是可以通过set_error_handler这个函数来自定义的。
参考资料
PHP函数之trigger_error的更多相关文章
- php 错误处理函数
eval() 把子符串当做php 代码执行 // 回调函数function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', ar ...
- php函数: set_error_handler
<?php // $errno, $errstr, $errfile, $errline , 系统自动生成这四个变量的值(如果存在!) function error_catcher($errno ...
- PHP user_error() 函数
定义和用法 user_error() 函数创建用户自定义的错误消息. user_error() 函数用于在用户指定的条件下触发一个错误消息.它可以与内建的错误处理程序一起使用,或者与由 set_err ...
- PHP中的错误处理机制
常见的三种错误: 1.Notice :通知性错误,最小的错误,当发生通知性错误时,会弹出一个提示信息.不会中断代码的执行. 错误代码: #例如Notice: 2.Warning:警告性错误,当发生警告 ...
- PHP trigger_error() 函数
定义和用法 trigger_error() 函数创建用户自定义的错误消息. trigger_error() 函数用于在用户指定的条件下触发一个错误消息.它可以与内建的错误处理程序一起使用,或者与由 s ...
- PHP7函数大全(4553个函数)
转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcsla ...
- PHP错误处理函数set_error_handler()的用法
定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...
- PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,register_shutdown_function
一.错误.异常 等级常量表 error:不能在编译期发现的运行期错误,比如试图用 echo 输出一个未赋值的变量,这类问题往往导致程序或逻辑无法继续下去而需要中断: exception:程序执行过程中 ...
- PHP 错误与异常 笔记与总结(8)自定义错误处理函数 set_error_handler()
通过 Set_error_handler() 函数设置用户自定义的错误处理函数. 步骤: ① 创建错误处理函数 ② 设置不同级别调用函数 ③ Set_error_handler() 函数制定接管错误处 ...
随机推荐
- mysql主主同步设置
mysql主主同步设置 主主同步设置是同等的地位,所以以下操作在两台机器上都需要进行而且操作是相同的. 服务器 服务器代号 IP hostname A 192.168.70.128 Debian1 B ...
- postgresql常见命令及操作
pgsql已经更新到beta11了,不同版本的服务器启动或相关命令.配置可能会有不同,所以得根据pg版本进行操作.下面记录一些工作中常用到的一些操作,主要包括服务启动.备份/恢复数据.数据目录迁移.常 ...
- SQL Server 2016 的JSON功能
测试一下基本的,从查询结果里面构造一个json 的格式 create table t1(ID int identity,name nvarchar(50),Chinese int ,Math int) ...
- JavaScript中的两种全局对象
这里总结的东西特别适合先学习c/c++, Java这类标准语言再学JS的童鞋们看,因为JS在程序执行之前就会初始化一个全局对象,这个全局对象到底是什么是跟JS程序运行环境有关的. 根据JavaScri ...
- What does -1 mean in numpy reshape?
The criterion to satisfy for providing the new shape is that 'The new shape should be compatible wit ...
- es6 export 和 export default区别
相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在JavaScript ES6中,export与export default均可用于导出常量.函 ...
- Hadoop生态圈-kafka事务控制以及性能测试
Hadoop生态圈-kafka事务控制以及性能测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- bzoj千题计划278:bzoj4590: [Shoi2015]自动刷题机
http://www.lydsy.com/JudgeOnline/problem.php?id=4590 二分 这么道水题 没long long WA了两发,没判-1WA了一发,二分写错WA了一发 最 ...
- hdu 6166 Senior Pan
http://acm.hdu.edu.cn/showproblem.php?pid=6166 题意: 给出一张无向图,给定k个特殊点 求这k个特殊点两两之间的最短路 二进制分组 枚举一位二进制位 这一 ...
- AngularJS 启程三
<!DOCTYPE html> <html lang="zh_CN"> <head> <title>字数小例子</title& ...