(四)PHP物件導向理論4---異常和錯誤處理

來源:互聯網
上載者:User
一.異常處理:
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教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.