2

セーフモードでアップサートを行うために\lithium\ data \ source \ MongoDB :: update()を使用しています。一部の更新では、重複するキーが渡されるため、予想されるMongoCursorExceptionが発生します。以下のtry/catchはエラーをキャッチせず、Dispatcher :: run()にアタッチしたErrorHandlerにバブルバックします。

try {
    $result = Items::update($record, $conditions, array('upsert' => true, 'safe'   => true));
} catch (MongoCursorException $e) {
    $result = false;
} catch (Exception $e) {
    $result = false;
}
4

1 に答える 1

5

ファイルの先頭に use ステートメントを追加するか、例外クラス名の前にバックスラッシュを付けて、名前空間ではなくグローバル スコープからのものであることを示す必要があります。私は、クラスの先頭にある use ステートメントを好みます。

use MongoCursorException;
use Exception;
于 2012-05-21T20:57:16.397 に答える