Recientemente me encontré con un código escrito por un programador en la que tuvo un comunicado intento de captura dentro de una captura!la gestión de excepciones intento de captura en el interior de captura
Por favor, perdona mi incapacidad para pegar el código real, pero lo que hizo fue algo similar a esto
try
{
//ABC Operation
}
catch (ArgumentException ae)
{
try
{
//XYZ Operation
}
catch (IndexOutOfRangeException ioe)
{
//Something
}
}
Personalmente, creo que es uno de los más pobres de código que he visto nunca! En una escala del 1 al 10 ... ¿Qué tan pronto usted piensa que debería ir y darle un pedazo de mi mente? ¿O estoy reaccionando demasiado?
EDIT: Lo que en realidad está haciendo es que en la trampa, está realizando algunas otras operaciones que pueden/deben hacerse cuando falla la prueba inicial. Mi problema es tener un código limpio y mantenibilidad. Delegando la excepción de la primera captura a una función diferente o llamando a la función estaría bien, pero la adición de más código que puede o no puede lanzar una excepción en la primera captura, es lo que sentía no era bueno. Intento evitar múltiples declaraciones "if-loop" apiladas, esto me parece igualmente malo.
- IvarD
Esto es bastante común, por lo que sin ver lo que realmente hace el código - no hay nada inherentemente malo en esto. – nos
Prefiero preguntarle qué estaba tratando de lograr. –