一.異常處理:
1. PHP異常舉例:
getMessage(); $a = -1;}echo $a;
2.詳細的異常舉例:
getCode()): {$this->getMessage()} in File:($this->getFile()) on Line:{$this->getLine()}"; }}function reg($reginfo =null){ if (empty($reginfo) || isset($reginfo)){ throw new Exception("參數非法"); } if (empty($reginfo['email'])){ throw new emailException("郵件為空白"); } if ($reginfo['pwd'] != $reginfo['repwd']){ throw new pwdException("兩次密碼不一致"); } echo "註冊成功";}/* * 這個代碼無法執行,抽空找原因 */try{ reg(array('email' => 'waitfox@qq.com','pwd'=>123456,'repwd'=>12345678));}catch (emailException $ee){ echo $ee->getMessage();}catch (pwdException $ep){ echo $ep; echo PHP_EOL,"特殊處理";}catch (Exception $e){ echo $e->getTraceAsString(); echo PHP_EOL,"其他情況統一處理";}3. 用到異常處理的情境:
a. 對程式的悲觀預測
b. 程式的需要和對業務的關注
c. 語言層級的健壯性要求:捕捉異常並做出相應的補救
3. 面對異常:處理異常需要在合理的情境下
二.PHP的錯誤層級:
1.PHP的錯誤層級:
a.deprecated:最低層級。‘不推薦,不建議’
b.notice:文法不當。比如使用變數而未定義
c.warning:函數參數不匹配
d.fetal error:直接導致PHP流程終結,後面代碼不再執行。
e.prase error:語法檢查階段將報此錯。PHP手冊一共定義了16個層級的錯誤。
2.舉例:
5){ echo "$i沒有初始化啊",PHP_EOL;}$a = array('o'=>2,4,6,8);echo $a[o];$result = array_sum($a,3);echo fun();echo "錯誤了…… 能繼續嗎?";4. PHP錯誤處理機制:
錯誤碼:[${errno}],檔案{$errstr}\r\n"; echo "錯誤所在的程式碼:{$errline}檔案{$errfile}\r\n"; echo "PHP版本",PHP_VERSION,"(",PHP_OS,")\r\n";}set_error_handler("customeError",E_ALL|E_STRICT);$a = array('o'=>2,4,6,8);echo $a['o'];//此問題亦無答案。沒有報錯三.PHP物件導向的總結:
PHP物件導向的知識點:魔術方法、介面、多態、類的複用、反射、異常機制。
PHP也引入了一些函數式編程的概念。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了(四)PHP物件導向理論4---異常和錯誤處理,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。