PHP異常處理
阿新 • • 發佈:2017-05-07
class 兩個 images 捕獲異常 大於 image 信息 () 實例
首先要發生異常!
所謂的發生,指的是拋出一個異常!
然後是處理異常!
所謂的處理,就是一旦異常出現,要得到並處理這個異常,通常有兩個階段組成:監聽和捕獲!
流程:
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中異常處理
PHP異常處理