我认为下面的代码是使用PDO在php中使用try和catch的最佳方式。
在catch中我描述了:行号,文件和错误消息
error_reporting(E_ALL);
try{
// code that works
}
catch(PDOException $e)
{
$errormessage = '<p>
Regelnummer: '.$e->getLine().'<br />
Bestand: '.$e->getFile().'<br />
Foutmelding: '.$e->getMessage().'
</p>';
trigger_error($errormessage);
}
如果有人知道更好的方法来尝试和捕获,请在下面写下来。
答案 0 :(得分:0)
这是一个扩展PDO的类的简单示例,它可能会给你一些想法:
<?php
//DATABASE CONNECTION CONFIGURATION:
defined("HOST") or define("HOST", "localhost");
defined("DBASE") or define("DBASE", "dbName");
defined("USER") or define("USER", "root");
defined("PASS") or define("PASS", "root");
class DB extends PDO {
/***
* @var PDO
*/
private static $dbHandle;
public static function getInstance(){
try {
self::$dbHandle = new PDO('mysql:host='.HOST.';dbname='. DBASE,USER,PASS);
self::$dbHandle->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
return self::$dbHandle;
}catch(PDOException $e){
throw new Exception($e->getMessage());
}
}
public static function getHandle(){
if(!isset(self::$dbHandle)){
self::$dbHandle = self::getInstance();
}
return self::$dbHandle;
}
}