zoukankan      html  css  js  c++  java
  • PDO 错误处理模式

    异常模式:

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    这个模式需要配合 try 使用 :
    一旦出错,就会:

    1. 创建一个对象,$e 也可以随便命名,从 $e->getMessage() 获取错误信息;
    2. 采取动作;

    try{
    
        要执行的命令...
    
    } catch(PDOException $e) {
    
        echo "执行命令失败:".$e->getMessage();
        失败后的动作...
    
    }

    这个其实等于 缺省模式的 if($pdo->errorInfo()[2]) ...

    创建PDO的时候,为什么也用 try?
    因为这时候连PDO对象都没有,所以也不能设置错误模式,所以可以用try,
    一旦PDO创建成功,错误模式就成了 缺省模式,也就不能用try了.

    缺省模式:

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);

    这个出错,会给 $pdo->errorCode() 和 $pdo->errorInfo()[2] 赋值;

    可以用 if($pdo->errorInfo()[2])和if($pdo->errorCode()) 判断脚本是不是出错.

    如果不出错,上面都是空的;

    警告模式:

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

    这个会echo出一个错误信息,打乱了脚本;

    学习调试的时候使用比较好;
    真用起来的时候,很多时候判断不出到底脚本有没有出错;

  • 相关阅读:
    shell脚本之数组
    shell脚本之函数
    shell脚本之sed
    shell脚本的for循环与read
    shell脚本之if语句
    shell脚本正则表达式
    shell的编程原理
    《梦断代码》阅读笔记03
    12.19学习总结
    《梦断代码》阅读笔记02
  • 原文地址:https://www.cnblogs.com/zhuyongzhe/p/7764669.html
Copyright © 2011-2022 走看看