我正在调整为 PHP/5.2 编写的遗留数据库类,该类旨在连接到 MySQL 并隐藏所有错误。我已将 PDO 实例配置为抛出异常:
new PDO($dsn, $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION))
现在,我需要相应地调整我的代码,以处理函数可能抛出异常的情况,而它们以前不会抛出异常,所以我转到手册。
在某些情况下,手册是明确的,例如PDO::prepare
:
如果数据库服务器成功准备语句,PDO::prepare()
返回一个PDOStatement
目的。如果数据库服务器
无法成功准备声明,PDO::prepare()
回报FALSE
或发出PDOException
(取决于错误处理).
在其他情况下,它有点模糊,例如PDO::commit
:
Returns TRUE
成功或FALSE
失败时。
抛出一个PDOException
如果没有活跃的交易。
(它是否会因其他原因失败并简单地返回false
?)
在某些情况下,甚至没有提到例外情况,例如PDO::bindValue
:
Returns TRUE
成功或FALSE
失败时。
...即使很明显可以验证它确实抛出PDOException
错误时(至少在某些错误时)。
我还需要检查返回的方法的返回值吗false
当手册没有另外说明时出错?