PHP异常处理
首先要发生异常!
所谓的发生,指的是抛出一个异常!
然后是处理异常!
所谓的处理,就是一旦异常出现,要得到并处理这个异常,通常有两个阶段组成:监听和捕获!
流程:
1. 抛出异常 throw
2. 监听异常 try
3. 捕获异常 catch
注意:这里的异常,其实就是一个异常对象,这个对象必须是由系统预定义的异常类(类名为Exception)或者其子类实例化出来的!
示例:
<?php echo "<meta charset=utf-8>"; class Goods{ public function getPrice(){ $price = $_GET['p']; //如果价格小于0,则进行异常处理 if ($price<0) { //实例化一个异常对象 $e = new Exception($message = '价格不能为负值!'); throw $e; //抛出异常 }else{ echo $price; } } } //异常处理 try{ //对代码进行监听 $good = new Goods; $good->getPrice(); }catch(Exception $e){ //捕获异常 echo "错误信息为:".$e->getmessage()."<br/>"; echo "错误代码为:".$e->getCode()."<br/>"; echo "错误文件为:".$e->getFile()."<br/>"; echo "错误行号为:".$e->getLine()."<br/>"; }
结果:传进参数p=22(大于零)显示正常,未抛出异常!
若传进参数p=-22(小于零),结果如下
下一篇会介绍PDO中异常处理
——现在的努力,只为小时候吹过的牛逼! ——