He leído que solo debemos detectar las excepciones que se pueden manejar, lo que hace que la captura de la clase de excepción base (C # en este caso) sea una mala idea (además de otras razones). Actualmente soy parte de un proyecto en el que hasta ahora todavía no he visto nada más que la excepción base que se detecta. Mencioné que se considera una mala práctica hacerlo, pero la respuesta fue "Este servicio debe ejecutarse las 24 horas del día, los 7 días de la semana, así es como es".
Como no tuve una buena respuesta sobre cómo manejar adecuadamente las excepciones en un programa que necesita ejecutarse 24/7, ahora estoy aquí. No he logrado encontrar ninguna información / sugerencia sobre cómo lidiar con el manejo de excepciones en programas / servicios "críticos" que deben ejecutarse durante todo el día (y en este caso creo que puede estar bien si el servicio está inactivo por un minuto o dos, así que ni siquiera es crítico). Entiendo que depende de la naturaleza exacta del programa. Los requisitos para un programa que puede causar problemas que amenazan la vida son bastante diferentes en comparación con un escáner de registro para un juego en línea.
Dos ejemplos:
1: Un servicio de escritura anticipada para clientes de los ferrocarriles británicos, utilizado cuando buscan en línea estaciones de ferrocarril.
2: Un programa que controla automáticamente los interruptores ferroviarios para los ferrocarriles anteriores en función de la información en tiempo real proporcionada por varios sensores en las vías, trenes, etc.
El primer programa probablemente no causaría un problema importante si se cayera por un minuto o dos, mientras que el último podría causar bajas humanas. ¿Sugerencias sobre cómo lidiar con cada uno? ¿Apunta a dónde puedo encontrar más información y pensamientos sobre este tema?
catch Exception
. Eso no significa que su programa funcione , significa que las fallas permiten que el estado de la aplicación se corrompa mientras continúa ejecutándose, un lugar mucho más peligroso. Un estrelló programa podría ser desastroso, pero un programa que está en un estado no válido, pero todavía puede ser acciones que realizan activamente desastrosa.