Sintassi del gestore

Questa sezione descrive la sintassi e l'utilizzo della gestione delle eccezioni strutturata implementata nel compilatore Ottimizzazione di Microsoft C/C++. Le parole chiave seguenti vengono interpretate dal compilatore come parte del meccanismo strutturato di gestione delle eccezioni.

Parola chiave Descrizione
__try Inizia un corpo sorvegliato del codice. Usato con la parola chiave __except per costruire un gestore eccezioni o con la parola chiave __finally per costruire un gestore di terminazione.
__except Avvia un blocco di codice eseguito solo quando si verifica un'eccezione all'interno del blocco di __try associato.
__finally Avvia un blocco di codice eseguito ogni volta che il flusso del controllo lascia il blocco di __try associato.
__leave Consente la chiusura immediata del blocco __try senza causare interruzioni anomale e la sua riduzione delle prestazioni.

 

Il compilatore interpreta anche le funzioni GetExceptionCode, GetExceptionInformation e AbnormalTermination come parole chiave e il relativo uso all'esterno della sintassi appropriata per la gestione delle eccezioni genera un errore del compilatore. Di seguito sono riportate brevi descrizioni di queste funzioni.

Funzione Descrizione
GetExceptionCode Restituisce un codice che identifica il tipo di eccezione. Questa funzione può essere chiamata solo dall'interno dell'espressione di filtro o dal blocco del gestore eccezioni.
GetExceptionInformation Restituisce un puntatore a una struttura EXCEPTION_POINTERS contenente puntatori al record di contesto e al record dell'eccezione. Questa funzione può essere chiamata solo dall'interno dell'espressione di filtro di un gestore eccezioni.
AnomaloTermination Indica se il flusso del controllo ha lasciato il blocco di __try associato in sequenza dopo l'esecuzione dell'ultima istruzione nel blocco. Questa funzione può essere chiamata solo dall'interno del blocco __finally di un gestore di terminazione.