es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

try { // Code that may throw an exception try { // Code that may also throw the same exception } catch (Exception e) { // Exception handling code } } catch (Exception e) { // Exception handling code } try catch anidados atrapando la misma excepción

¿Es posible en bloques anidados try y catch capturar la misma excepción en todos los bloques?

Por ejemplo:

try{
   try{
      throw new Exception("excepción");
   }
   catch (Exception $exception)
   {
       echo "se ejecuta el catch interno";
   }
}
catch (Exception $exception)
{
    echo "se ejecuta el catch externo";
}

En este escenario, el resultado sería “se ejecuta el catch interno, por lo tanto también se ejecuta el catch externo”.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible capturar la misma excepción en todos los bloques anidados de try y catch. En el ejemplo proporcionado, se ejecuta throw new Exception("excepción"); en el bloque try interno y es capturado por el correspondiente bloque catch. Como la excepción no es manejada y se propaga hacia arriba hasta el bloque try externo, también es capturada por el bloque catch externo, lo que resulta en la ejecución de ambas declaraciones echo.

Comments are closed.