PHP 错误与异常 笔记与总结(18 )页面重定向实现

PHP异常处理与重定向
本文介绍了一种在PHP中处理异常的方法,并通过重定向到特定页面来应对错误情况。利用自定义异常处理程序实现这一过程,同时记录了异常信息以便后续分析。

在发生错误时,将用户重定向到另一个页面。

 1 <?php
 2 header('content-type:text/html; charset=utf-8');
 3 
 4 class ExceptionRedirectHandler{
 5 
 6     protected $_exception;
 7     protected $redirect = '404.html';
 8     protected $_logFile = 'D:/practise/php/Error/LogException3.log';
 9 
10     //构造函数中得到异常对象
11     public function __construct(Exception $e){
12         $this->_exception = $e;
13     }
14 
15     public static function handle(Exception $e){
16         $self = new self($e);
17         $self->log();
18         //清除所有的输出缓冲
19         while(@ob_end_clean());
20         header('HTTP/1.1 307 Temporary Rediret');
21         header('Cache-Control:no-cache, must-revalidate');
22         header('Expires: Sun, 05 Jul 2015 22:36:42 GMT');
23         header('Location:'.$self->redirect);
24         exit(1);
25     }
26 
27     public function log(){
28         error_log($this->_exception->getMessage().PHP_EOL, 3, $this->_logFile);
29     }
30 }
31 
32 set_exception_handler(array('ExceptionRedirectHandler', 'handle'));
33 
34 //测试
35 $conn = mysql_connect('localhost', 'root', 'root123');
36 if(!$conn){
37     throw new Exception("数据库连接失败");
38     
39 }

跳转到 404 页面:

转载于:https://www.cnblogs.com/dee0912/p/4623385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值