10.2.1 PHP異常處理1
異常(Exception)處理用于在指定的錯誤發生時改變腳本的正常流程。是PHP5中的一個新的重要特性。異常處理是一種可擴展、易維護的錯誤處理統一機制,并提供了一種新的面向對象的錯誤處理方式。
異常處理格式:
try{
使用try去包含可能會發生異常的代碼.
一旦出現異常try進行捕獲異常,交給catch處理。
拋出異常語句:throw 異常對象。
}catch(異常對象參數){
在這里做異常處理。
}[catch(。,,){
.. .. ..
}]
一個簡單異常處理實例
<?php
try {
$error = 'Always throw this error';
throw new Exception($error);
//創建一個異常對象,通過throw語句拋出
echo 'Never executed';
//從這里開始,try代碼塊內的代碼將不會再被執行
} catch (Exception $e) {
echo ‘Caught exception: ’.$e->getMessage()."\n";
//輸出捕獲的異常消息
}
echo 'Hello World'; //程序沒有崩潰繼續向下執行
test.php
<?php
/*
* try {
*
* }
*
*
* catch(Exception $e) {
*
* }
*
* 1. try catch是一體
* 2. try catch之間不能有任何代碼
*
* 工作原理
*
* 1. 試著執行try中的代碼, 如果沒有問題, 繼續執行catch之后的代碼
*
* 2. Exception 是系統的類
*
* 3. 如果有異常對象拋出, 就將異常對象給 catch()中的類
*
* 4. try中發生異常位置后的代碼不再執行, 而是直接到catch中, catch中執行完成以后, 再繼續執行catch之后的代碼
*/
echo "早上起床<br>";
try{
echo "開車上班<br>";
//拋出異常
throw new Exception("車子爆胎了");
echo "路況很好<br>";
} catch(Exception $e) { // Exception $e = new Exception('');
echo $e->getMessage()."<br>";
echo "換上備胎,繼續開車上班<br>";
}
echo "到公司開始工作<br>";