一、什么是异常处理?数据库
处理不正常的状态、处理错误this
二、为何使用异常处理?spa
异常处理能够帮助咱们更加智能的处理错误code
三、何时使用异常处理?blog
使用PDO链接数据库的时候会使用异常处理继承
四、如何使用异常处理?get
1)异常处理类:Exceptionio
方法:function
getMessage() 得到异常信息class
getCode() 得到异常号
2)异常处理类能够进行拓展继承
3)捕获多个异常,要将Exception捕获放在最后
/* try{ 尝试执行第一个业务 若是业务发生异常,将异常抛出 若发生异常则第一个业务的后续将再也不执行 ..... }catch(Exception $e){ 处理异常 } 第二个业务 */ try{ echo "闹钟响了,该起床了<hr>"; //$f=true; $f=false; if(!$f){ //将异常抛出 throw new Exception("没起来",1); } //若是发生异常,该代码不会再执行 echo "刷牙,洗脸...<hr>"; }catch(Exception $e){ //处理异常 echo "异常信息:".$e->getMessage()."<hr>"; echo "异常号:".$e->getCode()."<hr>"; echo "抛出异常的文件路径:".$e->getFile()."<hr>"; echo "抛出异常的所在行:".$e->getLine()."<hr>"; } echo "上班去了";
//对默认异常类Exception进行拓展 class MyException extends Exception{ public function __toString(){ return serialize($this); } public function wc(){ echo "蹲了个厕所<hr>"; } } try{ echo "闹钟响了,该起床了<hr>"; $f1=true; //$f1=false; if(!$f1){ //将异常抛出 throw new MyException("没时间蹲厕所",0); } echo $e=new MyException; echo "<hr>"; echo $e->wc(); echo "刷牙,洗脸...<hr>"; //$f2=true; $f2=false; if(!$f2){ //将异常抛出 throw new Exception("没起来",1); } echo "吃早餐<hr>"; }catch(MyException $e){ //处理异常 echo "异常信息:".$e->getMessage()."<hr>"; echo "异常号:".$e->getCode()."<hr>"; echo "抛出异常的文件路径:".$e->getFile()."<hr>"; echo "抛出异常的所在行:".$e->getLine()."<hr>"; }catch(Exception $e){ //处理异常 echo "异常信息:".$e->getMessage()."<hr>"; echo "异常号:".$e->getCode()."<hr>"; echo "抛出异常的文件路径:".$e->getFile()."<hr>"; echo "抛出异常的所在行:".$e->getLine()."<hr>"; } echo "上班去了";