zoukankan      html  css  js  c++  java
  • php错误和异常的重定向

    通过重定向错误或异常,我们可以更安全的显示错误信息,一般也用来记录错误和异常日志。

    参数可以是全局函数名,也可以是类中的方法,非静态方法通过数组传递类名和方法名进去, 静态方法直接带命名空间和类名,看代码

    class myErrorClass{
    
      public function funError($errno, $errstr, $errfile, $errline){
    
        die($errstr);
    
      }
    
      public static function staticError($errno, $errstr, $errfile, $errline){
    
        die($errstr);
    
      }
    
    }
    //非静态方法绑定
    set_error_handler(array('myErrorClass','funError'));
    //静态方法绑定
    set_error_handler('myErrorClass::staticError');

    set_error_handler('funError');
    set_exception_handler('funException');
    
    function funError($errno, $errstr, $errfile, $errline) {
        die("[$errno] $errstr ".$errfile." 第 $errline 行.");
    }
    
    function funException($e) {
        $error = array();
        $error['message']   =   $e->getMessage();
        $trace              =   $e->getTrace();
        if('E'==$trace[0]['function']) {
            $error['file']  =   $trace[0]['file'];
            $error['line']  =   $trace[0]['line'];
        }else{
            $error['file']  =   $e->getFile();
            $error['line']  =   $e->getLine();
        }
        $error['trace']     =   $e->getTraceAsString();
        die($error['message'].$error['file']." 第 ".$error['line']." 行."):
    }
  • 相关阅读:
    Mysql数据库的一些操作
    【狂神说Java】JavaWeb入门到实战1---笔记
    图神经网络学习
    HWSX网址
    python如何判断两个数组完全相等?
    SQL-3-菜鸟教程
    SQL-2
    时间序列相似度分析算法
    pip install 安装不了怎么办?
    leetcode 3 无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/6min/p/11165637.html
Copyright © 2011-2022 走看看