[PHP] MVC思想----错误处理类

<?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']}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$error['line']}</p>";
exit;
}
}


Error::start();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值