Así que encontré un código esta mañana que se veía así:
try
{
x = SomeThingDangerous();
return x;
}
catch (Exception ex)
{
throw new DangerousException(ex);
}
finally
{
CleanUpDangerousStuff();
}
Ahora este código se compila bien y funciona como debería, pero no parece correcto regresar desde un bloque de prueba, especialmente si finalmente hay un asociado.
Mi principal problema es ¿qué sucede si finalmente arroja una excepción propia? Tienes una variable devuelta pero también una excepción con la que lidiar ... así que me interesa saber qué piensan los demás acerca de regresar desde un bloque de prueba.
x
fuera deltry
bloque. Puede mantener su declaración cerca de su uso.