zoukankan      html  css  js  c++  java
  • [PHP] PDO 提供了三种不同的错误处理模式

    1.PDO::ERRMODE_SILENT 静默模式,不终止代码,只能使用 $pdo->errorCode() 和 $pdo->errorInfo() 获取错误信息 , 这个是默认情况下 , 也就是不停断 , 不记日志

    注意这种形式下不容易错误排查


    2.PDO::ERRMODE_WARNING 警告模式,不终止代码,在错误日志中出现warning类型的错误信息
    /var/log/apache/xxx-error.log
    [Fri Mar 09 16:02:50 2018] [error] [client 61.135.152.130] PHP Warning: PDOStatement::execute(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'sinanet.mass_list' doesn't exist in /mnt/publi

    3.PDO::ERRMODE_EXCEPTION 异常模式,终止代码,抛出异常信息,使用try()catch(){}捕获
    记录到应用日志里/var/log/sinamail/webmail.log
    Mar 9 15:54:13 vm-228-187 webmail: 2018-03-09 15:54:13 xxx xxxx 61.135.152.130 /usr/local/wa.php - APP_RUN_ACTION msg=>SQLSTATE[42S02]: Base table or view not found: 1146 Table 'sinanet.mass_list' doesn't exist,code=>42
    异常模式另一个非常有用的是,相比传统 PHP 风格的警告,可以更清晰地构建自己的错误处理,而且比起静默模式和显式地检查每种数据库调用的返回值,异常模式需要的代码/嵌套更少。

  • 相关阅读:
    log4net 配置
    Sublime Text 2 安装Package Control和插件的两种方法
    Silverlight中ListBox的数据绑定
    在Silverlight 5 项目中创建单元测试项目
    const V.S readonly
    鼠标和键盘操作的全局钩子库
    数码管图片
    正则表达式
    ToString的格式化字符串
    C# Builder
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12598769.html
Copyright © 2011-2022 走看看