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 formo parte de un proyecto en el que aún no he visto nada más que la excepción base que se está capturando. Mencioné que se considera una mala práctica hacerlo, pero la respuesta fue "Este servicio debe ejecutarse 24/7, 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 manejar el manejo de excepciones en programas / servicios "críticos" que deben ejecutarse las 24 horas del día (y en este caso creo que puede estar bien si el servicio no funciona durante un minuto). o dos, por lo que ni siquiera son críticos). 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, que se utiliza cuando buscan estaciones de ferrocarril en línea.
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 fallara por un minuto o dos, mientras que este último podría causar víctimas humanas. ¿Sugerencias sobre cómo tratar con cada uno? ¿Puntero a donde puedo encontrar más información y pensamientos sobre este tema?