2

我正在使用 \lithium\data\source\MongoDB::update() 在安全模式下执行 upsert。在某些更新中,由于传递了重复的键,因此会出现预期的 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 回答