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']." 行."):
    }
  • 相关阅读:
    XNA入门教程(一)
    SQL透视表
    java 远程ftp建立文件夹
    费事数列——我的理解
    OOP
    OOP2
    河内之塔
    获取页面上TextBox并改变它的值
    RMAN学习之三:归档模式有备份,丢失控制文件。
    SQL Server Error: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或访问
  • 原文地址:https://www.cnblogs.com/6min/p/11165637.html
Copyright © 2011-2022 走看看