Si tengo código como este:Excepción captura de las mejores prácticas (. C#/neto)
void a()
{
try
{
b();
}
catch (MyException)
{
// Handle any problems that occurred in b(c(d()))
}
}
void b()
{
c();
// Do something else
}
void c()
{
d();
// Do something else
}
void d()
{
// Do something, throw a MyException if it fails
}
Suponiendo que no es necesaria la limpieza en cualquier momento, es que lo mejor es poner un try {} catch {throw;} alrededor de la llamada a d() en c() y la llamada a c() en b() o se considera correcto permitir que la excepción de d() aumente hasta a() "naturalmente" sin intervención alguna. bloques?
Supongo que el bloque adicional try/catch actúa como una especie de "documentación", pero parecen superfluas, así que me pregunto qué otras personas considerarían de la mejor manera.
Disculpe si todo esto es demasiado básico, estoy tratando de resolver excepciones, pero todavía no las siento bien.
Relacionados con http://stackoverflow.com/questions/22623/-net-throwing-exceptions-best-practices – gimpf