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 风格的警告,可以更清晰地构建自己的错误处理,而且比起静默模式和显式地检查每种数据库调用的返回值,异常模式需要的代码/嵌套更少。

  • 相关阅读:
    最大流问题
    字符串的回文与镜像
    字符串的回文与镜像
    Aho
    linux环境变量
    【Centos7】安装memcached
    linux命令后台执行
    ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决
    ubuntu server解决不能访问外网问题
    【Ubuntu 16】安装net-snmp
  • 原文地址:https://www.cnblogs.com/taoshihan/p/12598769.html
Copyright © 2011-2022 走看看