PHP常用功能塊_異常與時間戳記 — php(33),php時間戳記轉換
異常(接上篇)
一個簡單異常處理執行個體
phptry {$error= 'Always throw this error';throw new Exception($error);//建立一個異常對象,通過throw語句拋出echo 'Neverexecuted';//從這裡開始,try代碼塊內的代碼將不會再被執行} catch (Exception $e) {echo 'Caught exception:', $e->getMessage(), "\n";//輸出捕獲的異常訊息}echo 'Hello World'; //程式沒有崩潰繼續向下執行?>
系統內建異常處理
phpclassException{protected$message='Unknownexception';//異常資訊protected$code=0;//使用者自訂異常代碼protected$file;//發生異常的檔案名稱protected$line;//發生異常的程式碼號function__construct($message=null,$code=0);finalfunctiongetMessage();//返回異常資訊finalfunctiongetCode();//返回異常代碼finalfunctiongetFile();//返回傳生異常的檔案名稱finalfunctiongetLine();//返回傳生異常的程式碼號finalfunctiongetTrace();//backtrace()數組finalfunctiongetTraceAsString(); //已格成化成字串的getTrace()資訊/*可重載的方法*/function__toString();//可輸出的字串}?>
php/* 自訂的一個異常處理類,但必須是擴充內異常處理類的子類*/class MyExceptionextends Exception{//重定義構造器使第一個參數message 變為必須被指定的屬性public function __construct($message, $code=0){//可以在這裡定義一些自己的代碼//建議同時調用parent::construct()來檢查所有的變數是否已被賦值parent::__construct($message, $code);}public function __toString() {//重寫父類方法,自訂字串輸出的樣式return __CLASS__.":[".$this->code."]:".$this->message."
";}public function customFunction() {//為這個異常自訂一個處理方法echo "按自訂的方法處理出現的這個類型的異常
";}}?>
自訂異常
phptry { //使用自訂的異常類捕獲一個異常,並處理異常$error = '允許拋出這個錯誤';throw new MyException($error);//建立一個自訂的異常類對象,通過throw語句拋出echo 'Never executed'; //從這裡開始,try代碼塊內的代碼將不會再被執行} catch (MyException$e) { //捕獲自訂的異常對象echo '捕獲異常: '.$e; //輸出捕獲的異常訊息$e->customFunction(); //通過自訂的異常對象中的方法處理異常}echo '你好呀'; //程式沒有崩潰繼續向下執行?>
捕獲多個異常
在try代碼之後,必須至少給出一個catch代碼塊,也可以將多個catch代碼塊與一個try代碼塊關聯使用。那麼使用多個catch就可以捕獲不同的類所產生的異常。注意順序。
2 時間戳記
2.1 UNIX時間戳記
Unix 時間戳記:
http://www.bkjia.com/PHPjc/1006442.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1006442.htmlTechArticlePHP常用功能塊_異常與時間戳記 — php(33),php時間戳記轉換 異常(接上篇) 一個簡單異常處理執行個體 ? php try {$error = ' Always throw this error ' ; th...