Utilisation classique

Exceptions précédentes

Depuis Zend Framework 1.10, Zend_Exception utilise les exceptions PHP 5.3 concernant l'exception précédente. Simplement, dans un bloc catch, il est possible d'envoyer une exception faisant référence à la précédente, ce qui améliore le contexte de débogage. Ce support dans Zend Framework apporte le support complet de PHP 5.3 concernant les exceptions.

L'exception précedente s'utilise comme troisième paramètre du constructeur de la classe Exception.

Example #1 Exceptions précedentes

  1. try {
  2.     $db->query($sql);
  3. } catch (Zend_Db_Statement_Exception $e) {
  4.     if ($e->getPrevious()) {
  5.         echo '[' . get_class($e)
  6.             . '] a comme exception précédente ['
  7.             . get_class($e->getPrevious())
  8.             . ']' . PHP_EOL;
  9.     } else {
  10.         echo '[' . get_class($e)
  11.             . '] n'a pas d'exception qui la précède'
  12.             . PHP_EOL;
  13.     }
  14.  
  15.     echo $e;
  16.     // affiche toutes les exception à commencer par la première, puis
  17.     // dépile.
  18. }

Utilisation classique