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();
  • 相关阅读:
    MATLAB 2019a 安装包及安装教程
    三角形最大周长
    两数的和
    “精致”的数
    总分最高的学生姓名和各科成绩
    列表元素改写
    统计单词个数
    凯撒密码
    Django入门学习--配置路由(urls)
    Django入门学习--熟悉配置信息
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3566544.html
Copyright © 2011-2022 走看看