pdo提供了三种处理错误的方式
pdo::errmode_silent:静默模式(默认)
pdo::errmode_warning:警告模式
pdo::errmode_exception:异常模式
示例:
<?php /*** 利用pdo对象实现异常处理操作*/echo "<meta charset=utf-8>";//pdo类的实例化// 1 设置数据源相关参数$dbms = 'mysql'; //选择数据库类型$host = 'localhost';$port = '3306';$dbname = 'test';$charset = 'utf8';$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";// 2 设置用户名密码$user = 'root';$pwd = '';// 3 实例化pdo类$pdo = new pdo($dsn,$user,$pwd);// 4 设置pdo相关属性$pdo->setattribute(pdo::attr_case,pdo::case_upper);// 5 修改pdo为异常模式$pdo->setattribute(pdo::attr_errmode,pdo::errmode_exception);try{ //监听 $sql = "select * from pdo"; $stmt = $pdo->query($sql);}catch(pdoexception $e){ //捕获异常 echo "错误信息为:".$e->getmessage()."<br/>"; echo "错误代码为:".$e->getcode()."<br/>"; echo "错误文件为:".$e->getfile()."<br/>"; echo "错误行号为:".$e->getline()."<br/>";}
注意:在pdo中进行异常处理不需要实例化异常类并抛出异常,因为我们在第5步已经把pdo修改为异常模式:
$pdo->setattribute(pdo::attr_errmode,pdo::errmode_exception);
运行结果:正常显示没有异常!
把监听代码块故意写错,看看是否抛出异常,抛出的异常是不是我们想要的!
//监听 $sql = "select * from pdo111"; //把 pdo 错改成 pdo111
结果:
抛出异常信息,说明异常处理成功!
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助,更多相关视频推荐:php教程!