PDO 是基于向对象方式,那么错误处理也最好使用面向对象的方式来处理。在 PDOException 中定义了如下方法用于捕获错误信息:
方法 说明
getMessage() 取得文本化的错误信息
getCode() 取得 SQLSTATE 错误代号
getFile() 取得发生异常的文件名
getLine() 取得 PHP 程序产生异常的代码所在行号
getTrace() backtrace() 数组
getTraceAsString() 取得已格成化成字符串的 getTrace() 信息
例子:
try { $db = new PDO('mysql:host=localhost;dbname=test','root','roaot'); $db = null; exit("mysql连接成功"); }catch (PDOException $e) { echo "错误代码:" . $e->getCode() . "<br/>"; echo "错误信息: " . $e->getMessage() . "<br/>"; echo "异常文件:" . $e->getFile() . "<br/>"; echo "异常行号:" . $e->getLine() . "<br/>"; die("提示信息:mysql连接失败") . "<br/>"; } // PDOException 异常类,这里为针对PDO的异常 // $e 创建一个包含异常信息的对象 // -> 对象成员访问符号 => 数组成员访问符号 // die()和exit()作用一样,用于输出一个消息并且退出当前脚本 // 语法: // void exit ([ string $status ] ) // void exit ( int $status ) // 如果 status 是一个字符串,在退出之前该函数会打印 status 。 // 如果 status 是一个 integer,该值会作为退出状态码,并且不会被打印输出。 // 退出状态码应该在范围0至254,不应使用被PHP保留的退出状态码255。 状态码0用于成功中止程序。 // 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。 // die("0"); //字符串 // die(0); // 返回一个整形,但不输出 // exit("1"); // die(1);
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3433.html