企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
#### 静默模式 默认情况下,pdo采用“静默模式”处理错误: 就是发生了错误后,并不提示,而只是返回false。我们需要在程序中去判断返回是否为fale,然后,如果是false,再去“主动”获取错误信息。——跟mysql一样! ![Image](https://box.kancloud.cn/9af15cb0caa156997a64c0eae4f4066b_704x301.png) ![Image](https://box.kancloud.cn/587da3e46609f4b48903bfe7ef174607_627x170.png) #### 异常模式 基本语法: try { 存在潜在错误的代码; if(逻辑错误) { //手工输出异常 throw new PDOException(‘错误的文本信息’,’错误号’); } } catch(PDOException $e) { echo ‘错误号:’.$e->getCode(); echo ‘错误行号:’.$e->getLine(); echo ‘错误的文本信息:’.$e->getMessage(); } ![Image](https://box.kancloud.cn/8f7aafa0a2949e36027d5e9416733eef_1039x576.png) 运行结果: ![Image](https://box.kancloud.cn/6bd180b15ee418b8ce8550c4f7792aef_770x240.png) 要使用到的知识点: bool PDO::setAttribute ( int $attribute , mixed $value ) 主要功能:设置属性 参数说明: $attribute :要设置的属性 $value :要设置的属性值 PDO::ATTR\_ERRMODE :PDO异常级别 ① PDO::ERRMODE\_SILENT :常规错误,默认 ② PDO::ERRMODE\_WARNING :警告错误 ③ PDO::ERRMODE\_EXCEPTION :异常错误 示例代码: ![Image](https://box.kancloud.cn/faf296449927ab4db0d96c57fcf93cf1_1009x534.png) 运行结果: ![Image](https://box.kancloud.cn/ca0d52807bb4a75739808535b499abbd_763x248.png) 可以简单理解为:适应面向对象语法的处理错误的一种语法结构。如下所示: try{ 在这里,可以执行“可能出错”的语句(多条也可以); 一旦发生错误,就会终止当前范围的后续程序执行, 而立即跳转到catch部分——处理错误! } catch( Exception $e ){ //一旦发生错误,就会进入这里,此时,并会生成一个“错误对象”; //该错误对象,就是系统类Exception的一个实例:它包含了错误信息。 } pdo要使用异常模式,就得专门设置(因为其默认是静默模式): $pdo->setAttribute(PDO::ATTR\_ERRMODE,PDO::ERRMODE\_EXCEPTION);![Image](https://box.kancloud.cn/a1c3c5bc181e83919f7f7fb794b17afe_718x272.png)