首頁 > 資料庫 > mysql教程 > 如何讓PDO預設拋出異常?

如何讓PDO預設拋出異常?

Susan Sarandon
發布: 2024-11-28 05:26:18
原創
235 人瀏覽過

How Can I Make PDO Throw Exceptions by Default?

PDO 異常處理配置

作為開發人員,您可能更喜歡讓 PDO 預設拋出例外。這樣就無需在每次建立資料庫連線時明確設定錯誤處理模式。雖然您可以使用 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) 手動設定錯誤模式,但您可能想知道是否有辦法使其成為預設行為。

預設異常處理

不幸的是,沒有內建的設定檔或php.ini 檔案中的選項可讓您將 PDO 設定為預設拋出例外。這是因為 PHP 全域處理錯誤處理,而不是特定於 PDO。

解決方案

要實現您想要的行為,您有兩個選擇:

1。建構子參數

您可以向PDO 建構子傳遞一組選項,包含錯誤處理模式:

$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', array(
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
登入後複製

2.包裝類別

或者,您可以建立一個擴充PDO的包裝類,並且始終將錯誤模式設為異常模式:

class MyPDO extends PDO {
  public function __construct($dsn, $username, $password) {
    parent::__construct($dsn, $username, $password, array(
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ));
  }
}
登入後複製

透過此方法,您可以使用您的自訂PDO 類別而不是常規PDO 類,並且始終獲得異常處理行為:

$pdo = new MyPDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password');
登入後複製

以上是如何讓PDO預設拋出異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板