PDO:我可以設定預設錯誤處理來拋出例外嗎?
為了增強 PDO 的錯誤處理,您表達了希望預設拋出異常,而不是手動設定錯誤模式。
根據您的程式碼範例,您目前使用setAttribute() 方法為每個連線指定 PDO::ERRMODE_EXCEPTION。雖然此方法適用於特定實例,但您需要尋求適用於所有 PDO 連線的全域設定。
不幸的是,php.ini 或其他地方沒有配置選項來設定 PDO 的預設錯誤模式。您必須為建立的每個連線使用 setAttribute() 明確設定它。
為了解決這種不便,您可以建立一個自訂包裝類別或庫來在建構期間設定錯誤模式。以下是一個範例:
class Db { public function __construct() { $this->pdo = new PDO('...', '...', '...', [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ]); } // Other database operations... }
利用此包裝器,您可以簡化程式碼並確保所有PDO 連接都會拋出異常:
try { $db = new Db(); // Queries and operations } catch (PDOException $e) { // Error handling }
雖然此方法引入了額外的依賴項,但它為PDO 強制拋出預設異常提供了一個便捷的解決方案。
以上是PDO 的預設錯誤處理可以配置為引發異常嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!