TigerZF
🌐Español

32.3. Excepciones previas

Desde Zend Framework 1.10, Zend_Exception implementa el soporte de PHP 5.3 para excepciones previas. Dicho de forma sencilla, cuando se está en un bloque catch(), se puede lanzar una nueva excepción que haga referencia a la excepción original, lo que ayuda a proporcionar contexto adicional al depurar. Al proporcionar este soporte en Zend Framework, su código ahora puede ser compatible hacia adelante con PHP 5.3.

Las excepciones previas se indican como el tercer argumento del constructor de una excepción.

Ejemplo 32.4. Excepciones previas

try {
    $db->query($sql);
} catch (Zend_Db_Statement_Exception $e) {
    if ($e->getPrevious()) {
        echo '[' . get_class($e)
            . '] has the previous exception of ['
            . get_class($e->getPrevious())
            . ']' . PHP_EOL;
    } else {
        echo '[' . get_class($e)
            . '] does not have a previous exception'
            . PHP_EOL;
    }

    echo $e;
    // displays all exceptions starting by the first thrown
    // exception if available.
}