Traduzioni di questa pagina?:

throw

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;
     }

Argomenti correlati: catch, try