您好,欢迎访问一九零五行业门户网

一步步编写PHP的Framework(九)

之前讲到过对于异常的处理机制,最好可以自定义异常,如果debug打开,那么显示具体的调试信息,如果debug关闭,那么将异常记录到日志,然后跳转到错误页,这节课我就主要来讲一下这个异常处理机制。
       现在我们定义一个异常的基类,在toper中为tp_exception,在这儿,我就直接叫baseexception吧,那baseexception.php肯定首先是有一个架子的:
1 _tologfile(parent::gettraceasstring());
6             $this->_outputerrorpage();
7         }
8     }
1 public function __tostring() {
2         if(true !== c('debug')) {
3             $this->_tologfile(parent::gettraceasstring());
4             $this->_outputerrorpage();
5             exit();
6         }
7         return parent::__tostring();
8     }
当然,由于__tostring要返回字符串,而一旦throw一个异常,就会直接显示出来异常信息,为了在debug关闭之后不在页面显示异常信息,所以就直接在此处exit了,当然,我目前没有想到一个更好的办法,所以建议使用printstack来做。
        我这个异常类就是用来抛砖引玉的,所以如果你有什么好的方法,请和我多多交流,互相学习,互相成长。
        当然,现在只是定义了一个异常处理的基类,后面会写很多关于异常的子类,真正使用的时候是调用其子类的。
其它类似信息

推荐信息