標籤:檔案 ext except extends lin 拋出異常 on() div public
1.內建的異常處理類Exception<?phptry{ $num = 2; if($num == 1){ echo "success"; }else{ throw new Exception(); //拋出異常,Exception是一個類名 } }catch(Exception $e){ //捕獲異常 echo $e -> getFile(); echo $e -> getLine(); echo $e -> getCode(); echo $e -> getMessage(); }?>2. 自訂異常處理類,繼承內建的Exception類<?php class myException extends Exception{ public function getAllInfo(){ return "異常發送的檔案為:{$this -> getFile()},異常發生的行數為:{$this -> getLine()},異常的資訊為:{$this -> getMessage()},異常的代碼為:{$this -> getCode()}"; }}try{ if($_GET[‘num‘] == 5){ throw new myException("這是一個自訂的異常",123456); //拋出一個異常,就自動跳到catch } echo "success";}catch(myException $e){ echo $e -> getAllInfo();}?>3.捕捉多個異常,因為有內建的異常處理類,也可以有自己自訂的異常處理類<?php class myException extends Exception{ public function getAllInfo(){ return $this -> getMessage(); }}try{ if($_GET[‘num‘] == 1){ throw new myException("這是自訂的異常處理類"); }elseif($_GET[‘num‘] == 2){ throw new Exception("這是系統的異常處理"); } echo "success";}catch(myException $e){ echo $e -> getAllInfo(); echo "111";}catch(Exception $e){ echo $e -> getMessage(); echo "222";}?>
PHP物件導向程式設計之異常處理