错误和错误处理
2013-04-25 20:34
78 查看
PDO 提供了 3 种不同的错误处理模式,以满足不同风格的编程:
PDO_ERRMODE_SILENT 这是默认模式。PDO 将只设置
错误代码,以通过 errorCode() 和 errorInfo() 方法对语句和
数据库对象进行检查。如果错误是由于对语句对象的调用而产生的,那么可以在那个对象上调用 errorCode() 或 errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在那个数据库对象上调用上述两个方法。 PDO_ERRMODE_WARNING 除了设置错误代码以外,PDO 还将发出一条传统的 E_WARNING 消息。如果您只是想看看发生了什么问题,而无意中断
应用程序的流程,那么在调试/测试当中这种设置很有用。 PDO_ERRMODE_EXCEPTION 除了设置错误代码以外,PDO 还将抛出一个 PDOException,并设置其属性,以反映错误代码和
错误信息。这种设置在调试当中也很有用,因为它会放大
脚本中产生错误的地方,从而可以非常快速地指出代码中有问题的潜在区域(记住,如果异常导致脚本终止,则
事务将自动
回滚)。 异常模式另一个有用的地方是,与传统的 PHP 风格的警告相比,您可以更清晰地构造自己的错误处理,而且,比起以静寂方式以及显式地检查每个数据库调用的返回值,异常模式需要的代码/嵌套也更少。 PDO 定制了使用 SQL-92 SQLSTATE 错误代码字符串的标准;不同 PDO 驱动程序负责将它们
本地代码映射为适当的 SQLSTATE 代码。例如,SQLSTATE 是用于 DB2(以及通常的 ODBC)的本地错误代码格式,这是多么方便啊!errorCode() 方法返回一个 SQLSTATE 代码。如果您需要关于一个错误的更多特定的信息,PDO 还提供了一个 errorInfo() 方法,该方法将返回一个
数组,其中包含 SQLSTATE 代码、特定于
驱动程序的错误代码以及特定于驱动程序的错误字符串。
PDO_ERRMODE_SILENT 这是默认模式。PDO 将只设置
错误代码,以通过 errorCode() 和 errorInfo() 方法对语句和
数据库对象进行检查。如果错误是由于对语句对象的调用而产生的,那么可以在那个对象上调用 errorCode() 或 errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在那个数据库对象上调用上述两个方法。 PDO_ERRMODE_WARNING 除了设置错误代码以外,PDO 还将发出一条传统的 E_WARNING 消息。如果您只是想看看发生了什么问题,而无意中断
应用程序的流程,那么在调试/测试当中这种设置很有用。 PDO_ERRMODE_EXCEPTION 除了设置错误代码以外,PDO 还将抛出一个 PDOException,并设置其属性,以反映错误代码和
错误信息。这种设置在调试当中也很有用,因为它会放大
脚本中产生错误的地方,从而可以非常快速地指出代码中有问题的潜在区域(记住,如果异常导致脚本终止,则
事务将自动
回滚)。 异常模式另一个有用的地方是,与传统的 PHP 风格的警告相比,您可以更清晰地构造自己的错误处理,而且,比起以静寂方式以及显式地检查每个数据库调用的返回值,异常模式需要的代码/嵌套也更少。 PDO 定制了使用 SQL-92 SQLSTATE 错误代码字符串的标准;不同 PDO 驱动程序负责将它们
本地代码映射为适当的 SQLSTATE 代码。例如,SQLSTATE 是用于 DB2(以及通常的 ODBC)的本地错误代码格式,这是多么方便啊!errorCode() 方法返回一个 SQLSTATE 代码。如果您需要关于一个错误的更多特定的信息,PDO 还提供了一个 errorInfo() 方法,该方法将返回一个
数组,其中包含 SQLSTATE 代码、特定于
驱动程序的错误代码以及特定于驱动程序的错误字符串。
相关文章推荐
- apt-mirror 校验错误文件处理
- Android使用dom4j时报 java.lang.NoClassDefFoundError错误的处理办法
- Silverlight 应用程序中未处理的错误 代码: 2104 类别:
- 图像处理JPEGCodec类错误问题 毕业设计遇到的问题
- 错误处理
- WinCE驱动中的错误处理原则
- java.lang.OutOfMemoryError处理错误
- 使用错误页统一处理错误(转)
- 系统调用错误处理
- 《JAVA编程思想》学习笔记---第十二章:通过异常处理错误
- ORA-01779错误的处理方法(转贴:http://tech.inspiremedia.org/archives/82.html,原作者:charlee)
- mysql的错误处理
- ECLIPSE处理错误:Access restriction: The type JPEGImageEncoder is not accessible..
- Swift基础 错误处理
- linux内核树构建及错误处理总结
- hadoop学习(八)Hadoop2.2.0+HA+zookeeper3.4.5详细配置过程+错误处理(1)
- Oracle10gR2 RAC 下 ORA-12545 错误的处理方法
- Android 程序未知错误、程序奔溃现场处理
- Linux - 非阻塞socket编程处理EAGAIN错误
- ASP.NET的错误处理机制