Zend_Exception-Previous.xml 1.5 KB

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