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这个函数来自定义的。

    参考资料

  • 相关阅读:
    qmake Manual (EN) 1
    {转}linux gcc gdb使用
    qmake 简介
    {转}linux makefile 详细教程
    {转}Linux下C开发之——gcc,gdb的使用
    关于“做一个聊天+信息分享客户端”的设想(SNS?)
    {转}算法的力量
    hdu 2047 简单递推公式
    RONOJ 6 金明的预算方案
    hdu 2446 二分搜索解题报告
  • 原文地址:https://www.cnblogs.com/renzhicai/p/8117312.html
Copyright © 2011-2022 走看看