<?php
//错误处理类
class Error {
//初始化方法
public static function start(){
//处理Warning和notice级别错误
set_error_handler(array(__CLASS__,'appError'));
//捕捉致命错误,脚本终止 就触发
register_shutdown_function(array(__CLASS__,'appFatalError'));
//自动补货异常
set_exception_handler(array(__CLASS__,'appException'));
}
//错误处理回掉函数
public static function appError($errno,$errstr,$errfile,$errline){
echo '<hr/>';
$error = array();
$error['type'] = $errno;
$error['message'] = $errstr;
$error['file'] = $errfile;
$error['line'] = $errline;
self::display($error);
}
//致命错误处理
public static function appFatalError(){
if($e = error_get_last()){
ob_end_clean(); //清除输出缓冲
self::display($e);
}
}
//自动捕获异常
public static function appException(PDOException $e){
$error = array();
$error['type'] = $e->getCode();
$error['message'] = $e->getMessage();
$error['file'] = $e->getFile();
$error['line'] = $e->getLine();
self::display($error);
}
//输出自己的错误
public static function display($error){
header('HTTP/1.0 404 NOT FONUND');
echo '<h1 style="font-size:100px;">:(</h1><br/>';
echo "<h3>{$error['type']} : {$error['message']}</h3>";
echo '<br><h4>错误位置:</h4>';
echo "<p>{$error['file']} {$error['line']}</p>";
exit;
}
}
Error::start();
//错误处理类
class Error {
//初始化方法
public static function start(){
//处理Warning和notice级别错误
set_error_handler(array(__CLASS__,'appError'));
//捕捉致命错误,脚本终止 就触发
register_shutdown_function(array(__CLASS__,'appFatalError'));
//自动补货异常
set_exception_handler(array(__CLASS__,'appException'));
}
//错误处理回掉函数
public static function appError($errno,$errstr,$errfile,$errline){
echo '<hr/>';
$error = array();
$error['type'] = $errno;
$error['message'] = $errstr;
$error['file'] = $errfile;
$error['line'] = $errline;
self::display($error);
}
//致命错误处理
public static function appFatalError(){
if($e = error_get_last()){
ob_end_clean(); //清除输出缓冲
self::display($e);
}
}
//自动捕获异常
public static function appException(PDOException $e){
$error = array();
$error['type'] = $e->getCode();
$error['message'] = $e->getMessage();
$error['file'] = $e->getFile();
$error['line'] = $e->getLine();
self::display($error);
}
//输出自己的错误
public static function display($error){
header('HTTP/1.0 404 NOT FONUND');
echo '<h1 style="font-size:100px;">:(</h1><br/>';
echo "<h3>{$error['type']} : {$error['message']}</h3>";
echo '<br><h4>错误位置:</h4>';
echo "<p>{$error['file']} {$error['line']}</p>";
exit;
}
}
Error::start();