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. |