首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 面向對象(OOP)學習筆記(四):異常處理與 Exception 類深度解析

     編輯:PHP 相關知識

PHP 5 引入異常機制,try/catch/throw 結構捕獲運行時錯誤。核心類 Exception 提供豐富屬性與方法。

預定義 Exception 成員

  • 屬性:$message、$code、$file、$line
  • 方法:getMessage()、getCode()、getFile()、getLine()、getTrace()、getTraceAsString()、__toString()

自定義異常類

class MyException extends Exception {
    protected $extraInfo;
    public function __construct($msg = null, $code = 0) {
        $this->extraInfo = '自定義錯誤上下文';
        parent::__construct($msg, $code);
    }
    public function getExtraInfo() { return $this->extraInfo; }
    public function log($file) { file_put_contents($file, $this->__toString(), FILE_APPEND); }
}

全局異常處理器

function ExceptionLogger($e) { file_put_contents('ExceptionLog.log', $e->__toString(), FILE_APPEND); }
set_exception_handler('ExceptionLogger');

catch 中重新拋出

catch (Exception $e) {
    if ($e->getCode() == 999) { /* 特殊處理 */ }
    else { throw $e; } // 向上傳遞
}

最佳實踐

  • 避免濫用異常控制業務流程
  • 錯誤碼統一管理,便於多語言與日誌分析
  • 異常日誌影響性能,關鍵路徑慎用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved