No creo que es necesariamente mala práctica. Hay algunas advertencias sin embargo ...
creo que el punto de quien llama esta "mala práctica" era reforzar la idea de que debe ser la captura excepciones más cercano a donde se producen (es decir, como en lo alto de la llamada pila como sea posible/apropiado). Un manejador de excepción general no suele ser una buena idea ya que su reduce drásticamente el flujo de control a su disposición. El manejo de excepciones de grano grueso es bastante importante no una solución razonable para la estabilidad del programa. Desafortunadamente, muchos desarrolladores principiantes piensan que sí, y toman enfoques como esta declaración general de prueba y captura.
decir esto, si que ha utilizado el manejo adecuado (en forma de grano fino y la tarea específica) en el resto de su programa de excepción, y se maneja los errores en consecuencia allí (en lugar de juist mostrar un cuadro de error genérico), luego es probable que sea útil tener un try-catch general para todas las excepciones en el método Main
. Un punto a tener en cuenta aquí es que si está reproducible obteniendo errores detectados en este Main
try-catch, entonces tiene un error o algo está mal con su manejo de excepciones localizado.
El uso principal de este try-catch con Main
sería simplemente para evitar que su programa se bloquee en circunstancias muy inusuales, y debería hacer apenas más que mostrar un mensaje (vagamente) amigable de "error fatal" al usuario, así como posiblemente registrar el error en alguna parte y/o enviar un informe de error. Por lo tanto, para concluir: este método tiene tiene sus usos, pero debe hacerse con gran cuidado, y no por los motivos equivocados.
Es posible que desee mostrar al usuario final algo más informativo que eso, y registrar detalles de la excepción para fines de soporte, pero de lo contrario lo recomendaría como una mejor práctica en lugar de inapropiada. –
Buena pregunta, en realidad. Creo que la respuesta aquí es un poco "sutil". Simplemente llamar a este enfoque "mala práctica" no le hace justicia. – Noldorin