ホームページ > データベース > mysql チュートリアル > PDO のデフォルトのエラー処理は例外をスローするように構成できますか?

PDO のデフォルトのエラー処理は例外をスローするように構成できますか?

DDD
リリース: 2024-11-27 04:34:16
オリジナル
225 人が閲覧しました

Can PDO's Default Error Handling Be Configured to Throw Exceptions?

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート