MongocursoreSerexception被抛出,但在锂中尝试/捕获
题
我正在使用\ lithium \ data \ source \ mongodb :: update()在安全模式下进行upsert。在一些更新中,由于传递重复密钥,存在预期的mongocursorexception。下面的TRY / CATCH不会捕获错误,并且它泡回到INTERTHANDLER我已附加到Dispatcher :: RUN()。
try {
$result = Items::update($record, $conditions, array('upsert' => true, 'safe' => true));
} catch (MongoCursorException $e) {
$result = false;
} catch (Exception $e) {
$result = false;
}
. 解决方案
您需要将使用语句添加到文件的顶部,或在异常类名称前面放入反斜杠,以指示它们来自全局范围而不是您的命名空间。我更喜欢在类顶部使用语句。
use MongoCursorException;
use Exception;
. 不隶属于 StackOverflow