Pregunta

Estoy usando \ Lithium \ DATA \ Source \ MongoDB :: Actualizar () Para hacer un UPSERT en modo seguro.En algunas actualizaciones, existe una MongocursorException esperada debido a que se pasa una llave duplicada.El intento / captura a continuación no cogida el error, y se burbujea a un error de error que he adjuntado al despachador :: Ejecutar ().

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

¿Fue útil?

Solución

Debe agregar declaraciones de uso a la parte superior de su archivo, o coloque una barra invertida frente a los nombres de las clases de excepción para indicar que son del alcance global y no de su espacio de nombres.Prefiero las declaraciones de uso en la parte superior de la clase.

use MongoCursorException;
use Exception;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top