尝试捕获PDO,因为他可能会以$ e除外

时间:2013-06-16 23:10:03

标签: pdo

每个在线教程都会在PDO的任何插入和更新查询中使用trycatch。 但是,所有教程都没有停止并解释为什么pdoexception中的值为$e

try {
    $db->query('SELECT * FROM mypants ORDER by thebiggest'); 
} catch(PDOException $e) {
    echo "too small"; //user friendly message
}

为什么我问这个愚蠢的问题?因为我在其他地方看不到变量$ e!?为什么我们必须将$e放在PDOEXEPTION旁边?它究竟做了什么?我是否需要更改我执行的每个trycatch上的变量?

2 个答案:

答案 0 :(得分:1)

这一行:

} catch(PDOException $e) {

...表示捕获作为PDOException实例的异常,并将其分配给$e

要回答您的问题,$e尚不存在,会在捕获到异常时分配。一旦发生异常,$e将包含有关可用于调试,记录或显示到屏幕的异常的信息。

$e只是一个惯例,您可以随意调用变量,而且无需担心每try catch更改变量

答案 1 :(得分:0)

$e是您要将异常放入的变量。它不使用现有变量;它与此类似:

$v = 6;

那里,$v以前不存在;这个名称只对以后使用它的代码非常重要。