首页 > 数据库 > mysql教程 > 如何让PDO默认抛出异常?

如何让PDO默认抛出异常?

Susan Sarandon
发布: 2024-11-28 05:26:18
原创
236 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板