PDA

Visualizza la versione completa : [C++]Lanciare eccezione senza disturbare il flusso del programma


ardito86
02-03-2012, 19:19
Ho un programma che, nel fare una determinata operazione, si verifichi una condizione che lancia un'eccezione: bene, è possibile ignorare questa eccezione senza per forza catturarla?

L'eccezione è una classe creata da me e se si verifica una data condizione, lancio throw new Exception("bla bla bla")

Ho trovato il tipo nothrow (http://www.cplusplus.com/reference/std/new/nothrow/) ma a quanto leggo è applicabile solo all'operatore new, cioè non fa lanciare eccezioni nel caso non sia possibile allocare memoria.

Come posso fare?

ramy89
02-03-2012, 19:34
Va gestita, altrimenti il programma termina.
Al limite fai un blocco catch fittizio dove in realtà non gestisci l' eccezione.

C'è da dire che non è molto utile un' eccezione se la usi così, non fai prima a stampare su cerr un messaggio e a continuare normalmente? :confused:

ardito86
02-03-2012, 20:26
Originariamente inviato da ramy89
Va gestita, altrimenti il programma termina.
Al limite fai un blocco catch fittizio dove in realtà non gestisci l' eccezione.

C'è da dire che non è molto utile un' eccezione se la usi così, non fai prima a stampare su cerr un messaggio e a continuare normalmente? :confused:
Ehm si...la storia è un po' lunga. Dovrei modificare il codice da cima a fondo visto che ho aggiunto dopo l'eccezione.

La necessità di averla l'ho vista particolarmente ora, dopo che ho scritto tutto il codice: quindi le cose sono due, o modifico il codice (operazione laboriosa) o trovo qualche altra escamotage. Grazie!

Loading