Si lo necesita para ejecutar siempre si su código try
tiene éxito, puesto que al final de su bloque try. Se ejecutará siempre que el código anterior en su bloque try
se ejecute sin excepción.
try
{
// normal code
// code to run if try stuff succeeds
}
catch (...)
{
// handler code
}
finally
{
// finally code
}
Si necesita tratamiento de excepciones alternativa para usted el código "succeded", siempre se puede anidar sus try/capturas:
try
{
// normal code
try
{
// code to run if try stuff succeeds
}
catch (...)
{
// catch for the "succeded" code.
}
}
catch (...)
{
// handler code
// exceptions from inner handler don't trigger this
}
finally
{
// finally code
}
Si su "éxito" código tiene que ejecutar después de su fin, el uso una variable:
bool caught = false;
try
{
// ...
}
catch (...)
{
caught = true;
}
finally
{
// ...
}
if(!caught)
{
// code to run if not caught
}
¿Por qué no acaba de agregar su código al final de la prueba? –
Porque puede desear que el resto del código arroje excepciones para ser capturado por el manejo externo de excepciones, y no por este bloque try/catch interno. En cuyo caso, la mejor manera de hacer esto (que yo sepa) es usar un bool. – John