Zend_Exception-Previous.xml 1.4 KB

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