zoukankan      html  css  js  c++  java
  • 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_NOTICE
    • E_USER_WARNING
    • E_USER_ERROR
    • E_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:daoyanlocalhostdemo.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:daoyanlocalhostdemo.php:0
    [26-Dec-2017 11:50:12 PRC] PHP   2. trigger_error() D:daoyanlocalhostdemo.php:968
    [26-Dec-2017 11:50:12 PRC] PHP Notice:  触发NOTICE提示 in D:daoyanlocalhostdemo.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:daoyanlocalhostdemo.php:0
    [26-Dec-2017 11:50:12 PRC] PHP   2. trigger_error() D:daoyanlocalhostdemo.php:969
    [26-Dec-2017 11:50:12 PRC] PHP Warning:  触发WARNING提示 in D:daoyanlocalhostdemo.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:daoyanlocalhostdemo.php:0
    [26-Dec-2017 11:50:12 PRC] PHP   2. trigger_error() D:daoyanlocalhostdemo.php:970
    [26-Dec-2017 11:50:12 PRC] PHP Fatal error:  触发ERROR提示 in D:daoyanlocalhostdemo.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:daoyanlocalhostdemo.php:0
    [26-Dec-2017 11:50:12 PRC] PHP   2. trigger_error() D:daoyanlocalhostdemo.php:971
    

    总结

    通过这个函数发现抛异常并将异常消息写入项目日志的错误日志也是可以通过set_error_handler这个函数来自定义的。

    参考资料

  • 相关阅读:
    我再说一遍-微软官方文档查询技巧分享
    你听我说-HandyControl多语言包处理
    太阳当空照-Windows服务化方式脚本封装sc指令
    你听我说-HandyControl源码编译
    太阳当空照-知识分享
    Mac多屏dock切换
    [转]浅析线性表(链表)的头插法和尾插法的区别及优缺点
    点击按钮,在textarea光标位置插入值
    优秀学习笔记汇总>o<
    解决excel文件上传时更改选中的文件出现错误net::ERR_UPLOAD_FILE_CHANGED
  • 原文地址:https://www.cnblogs.com/renzhicai/p/8117312.html
Copyright © 2011-2022 走看看