Sintassi:
try { statement list; } catch( typeA arg ) { statement list; } catch( typeB arg ){ statement list; } ... catch( typeN arg ) { statement list; }
Il comando throw è parte del meccanismo del C++ per la gestione delle eccezioni.
Questo comando, unitamente a try e catch, costituisce il costrutto del C++
per la gestione di errori segnalati tramite eccezioni.
L'approccio generale è questo: un frammento di codice che può andare incontro ad
errori viene messo all'interno di un blocco try. Se il codice avrà errori che saranno
segnalati tramite throw allora l'esecuzione del blocco argomento del try viene
interrotta e l'esecuzione passa ad uno dei blocchi definiti da catch.
Un blocco
catch (...) { }
catturerà tutte le eccezioni che non sono state raccolte da altri blocchi catch, ma non concede al proprio
interno accesso all'oggetto eventualmente passato come argomento del throw.
Un comando
throw
all'interno di un blocco catch rilancia l'eccezione che è stata intercettata.
Esempio:
try { cout << "Before throwing exception" << endl; throw 42; cout << "Shouldn't ever see this" << endl; } catch( int error ) { cerr << "Error: caught exception " << error << endl; }