我在Symfony2应用程序中使用Doctrine的dbal
服务。
我查询一个不存在的表,它会抛出一个错误:
SQLSTATE [42S02]:找不到基表或视图:1146表'log.requests_20130311'不存在。
Symfony2即使在try-catch
区块中也能抓住这个。我不希望这会杀死我的应用程序。我怎么处理呢?
答案 0 :(得分:4)
Per @ Coussinsky的评论,你需要在你的例外面前有一个\
:
try {
$result_set = $this->connection->query($sql);
} catch (\Exception $e) {
return 0;
}
答案 1 :(得分:3)
Doctrines DBAL层是PDO的包装器,所以你应该可以这样做:
try {
// Query your non-existent table
} catch (\PDOException $e) {
// Deal with it without killing your app
}