5

dbalSymfony2アプリでDoctrineのサービスを使用しています。

存在しないテーブルをクエリすると、エラーがスローされます。

SQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル'log.requests_20130311'が存在しません。

Symfony2は、try-catchブロック内であっても、私ができる前にこれをキャッチします。これでアプリケーションが強制終了されないようにします。どうすれば処理できますか?

4

2 に答える 2

4

@Coussinsky のコメントによる\と、例外の前にa が必要です。

try {
    $result_set = $this->connection->query($sql);
} catch (\Exception $e) {
    return 0;
}
于 2013-03-13T14:35:58.377 に答える
3

Doctrines DBAL 層は PDO のラッパーなので、次のことができるはずです:

try {
    // Query your non-existent table
} catch (\PDOException $e) {
    // Deal with it without killing your app
}

http://symfony.com/doc/current/cookbook/doctrine/dbal.html

于 2013-03-13T11:15:21.043 に答える