zoukankan      html  css  js  c++  java
  • php异常处理示例

    php异常处理使用示例,代码说明了普通错误和致命错误捕获及处理的方法。
     代码如下:
    <?php
    //禁止错误输出
    error_reporting(0);
    //设置错误处理器
    set_error_handler('errorHandler');
    register_shutdown_function('fatalErrorHandler');
    class Test{
    public function index(){
    //这里发生一个警告错误,出发errorHandler 
    echo $undefinedVarible;
    }
    }
    function errorHandler($errno,$errstr,$errfile,$errline){
     $arr = array(
     '['.date('Y-m-d h-i-s').']',
     'http://www.baidu.com',
     '|',
     $errstr,
     $errfile,
     'line:'.$errline,
     ); // www.jbxue.com
     //写入错误日志
    //格式 :  时间 uri | 错误消息 文件位置 第几行

     error_log(implode(' ',$arr)." ",3,'./test.txt','extra');
     echo implode(' ',$arr)." ";
    }
    //捕获fatalError
    function fatalErrorHandler(){
     $e = error_get_last();
     switch($e['type']){
     case E_ERROR:
     case E_PARSE:
     case E_CORE_ERROR:
     case E_COMPILE_ERROR:
     case E_USER_ERROR:
      errorHandler($e['type'],$e['message'],$e['file'],$e['line']);
      break
    }
    }
    $test = new Test();
    ////这里发生一个警告错误,被errorHandler 捕获
    $test->index();
    //发生致命错误,脚本停止运行触发 fatalErrorHandler 
    $test = new Tesdt();
    $test->index();
  • 相关阅读:
    在CentOS 8上安装Jitsi Meet
    centos8 安装docker
    [git]error: pack-objects died of signal
    Andorid 11调用系统裁剪
    XCode修改工程名(完美版)
    java分割后台日志
    五分钟搞定WebRTC视频录制
    一分钟教你构建属于你的视频会议SDK
    史上最全的WebRTC服务器技术选型分析
    数据库设计之思考
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3566544.html
Copyright © 2011-2022 走看看