2678777127 发表于 2018-2-11 11:53:05


            本文实例讲述了php实现的错误处理封装类。分享给大家供大家参考,具体如下:
1、创建MyErrorHandler.php文件
代码如下:
message = $message;
    $this->filename = $filename;
    $this->line = $line;
    $this->vars = $vars;
}
public static function deal ($errno,$errmsg,$filename,$line,$vars) {
    $self = new self($errno,$errmsg,$filename,$line,$vars);
    switch ($errno) {
      case E_USER_ERROR:
      return $self->dealError();
      break;
      case E_USER_WARNING:
      case E_WARNING:
      return $self->dealWarning();
      break;
      case E_NOTICE:
      case E_USER_NOTICE:
      return $self->dealNotice();
      default:
      return false;
    }
}
/**
* 致命的错误
*/
public function dealError() {
    ob_start();
    debug_print_backtrace();
    $backtrace = ob_get_flush();
    $errorMsg = filename}
产生错误的信息:{$this->message}
产生错误的行号:{$this->line}
追踪信息{$backtrace}
EOF;
    error_log($errorMsg,1,'279921301@qq.com','From:php');
    exit(1);
}
/**
* 警告的错误
*/
public function dealWarning() {
    $errorMsg = filename}
产生警告的信息:{$this->message}
产生警告的行号:{$this->line}
EOF;
    return error_log($errorMsg,1,'279921301@qq.com','From:php');
}
/**
* 通知的错误
*/
public function dealNotice() {
    $datetime = date('Y-m-d H:i:s');
    $errorMsg = filename}
产生通知的信息:{$this->message}
产生通知的行号:{$this->line}
产生通知的时间:{$datetime}
EOF;
    return error_log($errorMsg,3,$this->_noticeLog);
}
}
页: [1]
查看完整版本: php实现的错误处理封装类实例