¿Por qué un bloque Try / Catch crea un nuevo ámbito variable?
Por ejemplo:
try
{
SomeObject someObject = new SomeObject();
someObject.dangerousMethod();
}
catch(Exception e)
{
}
someObject.anotherMethod(); //can't access someObject!
Pero puedes declararlo antes de latry/catch
Bloque y luego funciona bien:
SomeObject someObject;
try
{
someObject = new SomeObject();
someObject.dangerousMethod();
}
catch(Exception e)
{
}
someObject.anotherMethod(); //works fine
Me pregunto la razón de diseño para esto. ¿Por qué se crean objetos dentro de latry/catch
¿Bloque no en alcance con el resto del método? Tal vez no estoy entendiendo en el fondo cómo untry/catch
Funciona además de solo observar porExceptions
arrojado