1、什么是异常处理?
处理不正常的状态、处理错误
2、为什么使用异常处理?
异常处理可以帮助我们更加智能的处理错误
3、什么时候使用异常处理?
使用PDO连接数据库的时候会使用异常处理
4、如何使用异常处理?
1)异常处理类:Exception
方法:
getMessage() 获得异常信息
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 "上班去了";
PHP异常处理
原文地址:https://www.cnblogs.com/zhouwanqiu/p/9589093.html