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() 函数制定接管错误处 ...
随机推荐
- Oracle 11g DRCP连接方式——基本原理
学习Oracle是一个复杂.繁琐的过程.在浩如烟海的Oracle官方资料.新特性.MOS资料和各种Internal知识面前,我们总是觉得力不从心.不知所措.但是,这往往也就是我们不断坚持.积累和追寻的 ...
- JavaScript--序列化以及转义
一.序列化 1.1 序列化 将其他对象转换为字符串,用法:JSON.stringify() var li = [1,2,3,4]; var new_li = JSON.stringify(li); n ...
- [Java] I/O底层原理之三:NIO
本篇文章参考自并发编程网 一.NIO 的概述 NIO 由以下几个核心组成 Channels Buffers Selectors 选择器用于监听多个通道的事件(如:链接打开.数据达到),单个线程可以监听 ...
- android studio run的时候一直卡在waiting for debug
原因如下: 选择ok就可以,同时我们也可以从这里找到 平常遇到跟真机有关的问题,三步大法,1,插拔手机,2.adb kill-server;adb start-server 3.重启as
- 【整理】HTML5游戏开发学习笔记(2)- 弹跳球
1.预备知识(1)在画布上绘制外部图片资源(2)梯度(gradient):HTML5中的对象类型,包括线性梯度和径向梯度.如createLinearGradient,绘制梯度需要颜色组http://w ...
- javascript实现的拖拽回放
这个功能很简单,直接贴代码啊: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- CSS-3 box-shadow 的使用
box-shadow是给对象实现图层阴影效果的. 语法: E {box-shadow: <length> <length> <length>?<length& ...
- 【转载】RESTful API 设计指南
作者: 阮一峰 日期: 2014年5月22日 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制 ...
- 第11月第21天 php引用 codeigniter cakephp
1. class CI_Controller { private static $instance; /** * Constructor */ public function __construct( ...
- 转载 你不知道的super
http://funhacks.net/2016/11/09/super/ super仅被用于新式类 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能 ...