我目前正在我的项目中使用以下东西:
- Symfony 2.3.11
- SQL Server 2008
- 教义2(最新)+pdo_sqlsrv(5.5)
- PHP 5.5.3
当我打电话给$em->flush()
时,我正在执行以下操作:
try {
$this->em->flush();
} catch (PDOException $e) {
switch ($e->getCode() {
case /*Depending of the codes*/:
throw new Exception(/*Message that hides the real error and just gives the code and a user-friendly message*/);
}
}
但是,此操作仍显示任何 SQL Server 错误,从而向用户公开查询和内部结构。我应该怎么做才能捕获这些错误并将它们转换为更好的消息?事先谢谢你。
它显示异常,因为您正在引发异常。不要抛出它们或编写异常侦听器或在 catch 块之后处理它们。参考这些谷歌和来自symfony