Zend_Exception-Previous.xml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.exception.previous">
  5. <title>Exceptions précédentes</title>
  6. <para>
  7. Depuis Zend Framework 1.10, <classname>Zend_Exception</classname> utilise les exceptions PHP 5.3
  8. concernant l'exception précédente. Simplement, dans un bloc <methodname>catch</methodname>, il est
  9. possible d'envoyer une exception faisant référence à la précédente, ce qui améliore le contexte de
  10. débogage. Ce support dans Zend Framework apporte le support complet de PHP 5.3 concernant les exceptions.
  11. </para>
  12. <para>
  13. L'exception précedente s'utilise comme troisième paramètre du constructeur de la classe Exception.
  14. </para>
  15. <example id="zend.exception.previous.example">
  16. <title>Exceptions précedentes</title>
  17. <programlisting language="php"><![CDATA[
  18. try {
  19. $db->query($sql);
  20. } catch (Zend_Db_Statement_Exception $e) {
  21. if ($e->getPrevious()) {
  22. echo '[' . get_class($e)
  23. . '] a comme exception précédente ['
  24. . get_class($e->getPrevious())
  25. . ']' . PHP_EOL;
  26. } else {
  27. echo '[' . get_class($e)
  28. . '] n'a pas d'exception qui la précède'
  29. . PHP_EOL;
  30. }
  31. echo $e;
  32. // affiche toutes les exception à commencer par la première, puis
  33. // dépile.
  34. }
  35. ]]></programlisting>
  36. </example>
  37. </sect1>
  38. <!--
  39. vim:se ts=4 sw=4 et:
  40. -->