Elaborazione delle eccezioni
Quando un programma viene eseguito, possono verificarsi una serie di condizioni anomale ed errori denominate "eccezioni". Queste includono esaurimento della memoria, errori di allocazione delle risorse e fallimenti nella ricerca dei file.
La libreria MFC (Microsoft Foundation Class) utilizza uno schema per la gestione delle eccezioni modellato in modo simile a quello proposto dal comitato ANSI standard per C++. Un gestore eccezioni deve essere installato prima di chiamare una funzione che può rilevare una situazione anomala. Se la funzione rileva una condizione anomala, viene generata un'eccezione e il controllo viene passato al gestore di eccezioni.
Diverse macro incluse nella libreria MFC (Microsoft Foundation Class) imposteranno i gestori di eccezioni. Una serie di altre funzioni globali consentono di generare eccezioni specifiche e terminare i programmi, se necessario. Queste macro e queste funzioni globali rientrano nelle categorie seguenti:
Macro di eccezioni, che sono la struttura del gestore di eccezioni.
Funzioni generatrici di eccezioni, che generano eccezioni di tipi specifici.
Funzioni di terminazione, che causano la terminazione del programma.
Per esempi e ulteriori dettagli, vedere l'articolo Eccezioni.
Macro di eccezioni
Designa un blocco di codice per l'elaborazione delle eccezioni. |
|
Designa un blocco di codice per intercettare un'eccezione dal blocco TRY precedente. |
|
Designa un blocco di codice per intercettare tutte le eccezioni dal blocco TRY precedente. |
|
Designa un blocco di codice per intercettare ulteriori tipi di eccezioni dal blocco TRY precedente. |
|
Designa un blocco di codice per il rilevamento di tutti gli ulteriori tipi di eccezione generati in un blocco PROVA precedente. |
|
Termina l'ultimo blocco di codice CATCH o AND_CATCH. |
|
Termina l'ultimo blocco di codice CATCH_ALL. |
|
Genera un'eccezione specificata. |
|
Invia l'eccezione attualmente gestita al successivo gestore esterno. |
Funzioni che generano eccezioni
Genera un'eccezione di archiviazione. |
|
Genera un'eccezione di file. |
|
Genera un'eccezione di memoria. |
|
Genera un'eccezione non supportata. |
|
Genera un'eccezione di Windows di risorsa non trovata. |
|
Genera un'eccezione in un'azione di programma avviata dall'utente. |
MFC offre due funzioni che generano eccezioni appositamente per le eccezioni OLE:
Funzioni di generazione di eccezioni OLE
Genera un'eccezione all'interno di una funzione di automazione OLE. |
|
Genera un'eccezione OLE. |
Per supportare le eccezioni di database, le classi database forniscono due classi di eccezioni, CDBException e CDaoException e delle funzioni globali per supportare i tipi di eccezioni:
Funzioni di generazione di eccezioni DAO
Genera una CDaoException dal proprio codice. |
|
Genera una CDBException dal proprio codice. |
MFC offre la seguente funzione di terminazione:
Funzioni di terminazione
Chiamata per interrompere un'applicazione quando si verifica un errore irreversibile. |