Mongocursorexception étant jetée, mais pas attrapé par essayer / attraper en lithium

StackOverflow https://stackoverflow.com//questions/10692193

  •  12-12-2019
  •  | 
  •  

Question

J'utilise \ lithium \ data \ Source \ MongoDB :: mise à jour () pour effectuer une upert en mode sans échec.Sur certaines mises à jour, une mangocursorexception attendue est attendue par une clé en double.L'essai / attrape ci-dessous n'atteint pas l'erreur, et elle bulles de sauvegarde à une tâche d'erreur que j'ai attachée à Dispatcher :: Run ().

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

Était-ce utile?

La solution

Vous devez ajouter des instructions d'utilisation en haut de votre fichier ou mettre une barre oblique inverse devant les noms de classe d'exception pour indiquer qu'ils sont de la portée globale et non de votre espace de noms.Je préfère les déclarations d'utilisation en haut de la classe.

use MongoCursorException;
use Exception;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top