Desde o Zend Framework 1.10, Zend_Exception
implementa às exceções
precedentes do PHP 5.3. Simplificando, em um bloco
catch()
, você pode lançar uma nova exceção que faz referência à
exceção original, ajudando a fornecer contexto adicional na depuração. Ao fornecer este
suporte no Zend Framework, seu código agora poderá avançar na compatibilidade com o
PHP 5.3.
Exceções precedentes são indicadas como o terceiro argumento para um construtor de exceção.
Exemplo 391. Exceções precedentes
try { $db->query($sql); } catch (Zend_Db_Statement_Exception $e) { if ($e->getPrevious()) { echo '[' . get_class($e) . '] possui a exceção precedente de [' . get_class($e->getPrevious()) . ']' . PHP_EOL; } else { echo '[' . get_class($e) . '] não possui uma exceção precedente' . PHP_EOL; } echo $e; // exibe todas as exceções começando pela primeira // exceção lançada, se disponível. }