Sto rifattorizzando un vecchio codice e una delle cose che vorrei risolvere è il modo in cui vengono gestiti gli errori. Sono ben consapevole delle eccezioni e del loro funzionamento, ma non sono del tutto sicuro che siano la soluzione migliore per le situazioni che sto cercando di gestire.Come terminare un programma C++ dopo un errore?
In questo codice, se le cose non convalidano, non c'è davvero alcun motivo o vantaggio per srotolare lo stack. Sono state fatte. Non ha senso cercare di salvare la nave, perché si tratta di un codice non interattivo che viene eseguito in parallelo attraverso il motore Sun Grid. L'utente non può intervenire. Inoltre, questi fallimenti di validazione non rappresentano davvero circostanze eccezionali. Sono attesi.
Quindi, come faccio a gestire meglio questo? Una cosa che non sono sicuro di volere è un punto di uscita in ogni metodo di classe che può fallire. Ciò sembra irrinunciabile. Ho sbagliato? È pratica accettabile chiamare semplicemente exit()
o abort()
nel punto di errore in codici come questo? O dovrei lanciare un'eccezione fino ad una dichiarazione di cattura generica in main? Qual è il vantaggio?
C'è qualche buono da recuperare da un'eccezione o vuoi semplicemente uscire quando si verifica un errore? Non è un po 'troppo quando la tua applicazione si blocca ogni volta che si verifica un errore? – DumbCoder
Sto usando eccezioni e simili per problemi non fatali. Sto davvero cercando di risolvere la situazione di errore fatale qui. – Fadecomic