这段代码工作正常,但是exception如果出现任何问题,我会想要处理,所以我故意在语法中出错,query但没有任何反应.下面是代码
try {
$sql = "INSERT INTO journals (topic, author, ) VALUES ('$topic', '$authors', ')";
echo "1st";
$lecturers_db->query($sql);
echo "second";
} catch(PDOException $e) {
echo $e->getMessage();
echo $msg = "Error!";
}
Run Code Online (Sandbox Code Playgroud)
没有明显的语法错误,代码工作正常,但语法错误,没有任何反应,try block执行中的所有代码和catch block从不执行的代码.
我想提出一个exception,请问我该怎么做呢,谢谢你的帮助.
确保将属性设置PDO :: ATTR_ERRMODE以PDO :: ERRMODE_EXCEPTION只要你初始化你的PDO对象,:
$lecturers_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)
之后,任何失败的查询都会引发异常
抛出异常.代码中的语法错误!=异常.
<?php
try {
$code = 12;
throw new PDOException('Message', $code );
} catch (PDOException $e) {
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,来自maual:
您不应该从自己的代码中抛出PDOException.有关PHP中的异常的更多信息,请参阅异常.
我的建议是抛出一般异常,或编写自己的自定义异常来处理错误.
| 归档时间: |
|
| 查看次数: |
6997 次 |
| 最近记录: |