在建立新的PDO数据库处理程序时,我必须将所有内容都包装到try-catch中,以防止出现将所有数据库访问数据打印给用户的错误消息.
但是,例如exec()等所有其他方法呢?我必须将所有这些包装到try-catch块中吗?那时PHP文档告诉一个方法抛出异常?
首先,您可以使用该PDO::setAttribute方法设置PDO如何处理错误,以设置PDO::ATTR_ERRMODE (错误报告)选项.
特别是,可以配置PDO,以便在出现错误时抛出异常,而不是报告"错误" - 这就是我通常所做的事情.
然后,当一个方法可以抛出异常时,它应该在它的文档中指出 - 通常,它在"返回值"部分.
例如,PDO::prepare可以抛出异常 - 取决于错误报告(请参阅我之前写的内容):
如果数据库服务器无法成功准备语句,则
PDO::prepare()返回FALSE或发出PDOException(取决于错误处理).
作为旁注:如果你发现一个抛出异常的函数/方法,并且它的文档中没有说明,那么创建一个bug报告(参见http://bugs.php.net/)可能是个好主意,所以那个问题得到纠正;-)
(文档中的错误/错误/缺失信息通过错误跟踪器处理,就像任何其他错误一样)
| 归档时间: |
|
| 查看次数: |
2153 次 |
| 最近记录: |