dbal
Symfony2アプリでDoctrineのサービスを使用しています。
存在しないテーブルをクエリすると、エラーがスローされます。
SQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル'log.requests_20130311'が存在しません。
Symfony2は、try-catch
ブロック内であっても、私ができる前にこれをキャッチします。これでアプリケーションが強制終了されないようにします。どうすれば処理できますか?
dbal
Symfony2アプリでDoctrineのサービスを使用しています。
存在しないテーブルをクエリすると、エラーがスローされます。
SQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル'log.requests_20130311'が存在しません。
Symfony2は、try-catch
ブロック内であっても、私ができる前にこれをキャッチします。これでアプリケーションが強制終了されないようにします。どうすれば処理できますか?
@Coussinsky のコメントによる\
と、例外の前にa が必要です。
try {
$result_set = $this->connection->query($sql);
} catch (\Exception $e) {
return 0;
}
Doctrines DBAL 層は PDO のラッパーなので、次のことができるはずです:
try {
// Query your non-existent table
} catch (\PDOException $e) {
// Deal with it without killing your app
}