Estoy refabricando un código antiguo, y una de las cosas que me gustaría abordar es la forma en que se manejan los errores. Soy consciente de las excepciones y de cómo funcionan, pero no estoy del todo seguro de que sean la mejor solución para las situaciones que trato de manejar.¿Cómo finalizar un programa en C++ después de un error?
En este código, si las cosas no se validan, realmente no hay ninguna razón o ventaja para desenrollar la pila. Hemos terminado. No tiene sentido tratar de salvar el barco, porque es un código no interactivo que se ejecuta en paralelo a través del motor Sun Grid. El usuario no puede intervenir. Además, estas fallas de validación en realidad no representan circunstancias excepcionales. Ellos son esperados.
Entonces, ¿cómo puedo tratar mejor con esto? Una cosa que no estoy seguro de querer es un punto de salida en cada método de clase que puede fallar. Eso parece imposible de mantener. ¿Me equivoco? ¿Es una práctica aceptable simplemente llamar al exit()
o al abort()
en el punto de falla en códigos como este? ¿O debería lanzar una excepción de regreso a alguna declaración de captura genérica en main? ¿Cuál es la ventaja?
¿Hay algún problema con la recuperación de una excepción o simplemente desea salir cada vez que ocurre un error? ¿No es demasiado cuando su aplicación falla cada vez que ocurre un error? – DumbCoder
Estoy usando excepciones y similares para problemas no fatales. Estoy tratando de abordar la situación de error fatal aquí. – Fadecomic