Zend_Exception-Previous.xml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 19777 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.exception.previous">
  5. <title>Exceções Anteriores</title>
  6. <para>
  7. Desde o Zend Framework 1.10, <classname>Zend_Exception</classname> implementa as exceções
  8. anteriores do PHP 5.3. Simplificando, em um bloco <methodname>catch</methodname>, você pode
  9. lançar uma nova exceção que faz referência a exceção original, ajudando a fornecer contexto
  10. adicional na depuração. Ao fornecer este suporte no Zend Framework, seu código agora poderá
  11. avançar na compatibilidade com o PHP 5.3.
  12. </para>
  13. <para>
  14. Exceções anteriores são indicadas como o terceiro argumento para um construtor de exceção.
  15. </para>
  16. <example id="zend.exception.previous.example">
  17. <title>Exceções anteriores</title>
  18. <programlisting language="php"><![CDATA[
  19. try {
  20. $db->query($sql);
  21. } catch (Zend_Db_Statement_Exception $e) {
  22. if ($e->getPrevious()) {
  23. echo '[' . get_class($e)
  24. . '] has the previous exception of ['
  25. . get_class($e->getPrevious())
  26. . ']' . PHP_EOL;
  27. } else {
  28. echo '[' . get_class($e)
  29. . '] does not have a previous exception'
  30. . PHP_EOL;
  31. }
  32. echo $e;
  33. // exibe todas as exceções começando pela primeira
  34. // exceção lançada, se disponível.
  35. }
  36. ]]></programlisting>
  37. </example>
  38. </sect1>
  39. <!--
  40. vim:se ts=4 sw=4 et:
  41. -->