Condividi tramite


Elaborazione delle eccezioni

Quando un programma, una serie di condizioni anomale ed errori denominati “eccezioni„ possono verificarsi.Questi possono includere l'esaurimento della memoria, sugli errori di allocazione di risorse e la mancata individuazione dei file.

La libreria MFC utilizza una combinazione di gestione delle eccezioni che è stata progettata in modo molto simile a quella proposta dal comitato ANSI standard per C++.Un gestore di eccezioni deve essere configurato prima di chiamare una funzione che può verificarsi una situazione anomala.Se la funzione viene rilevato uno stato anomala, viene generata un'eccezione e il controllo viene passato al gestore di eccezioni.

Diverse macro importate con la libreria MFC configureranno i gestori di eccezioni.Una serie di altre funzioni globali consentono di generare eccezioni specifiche e terminare i programmi, se necessario.Queste macro e funzioni globali rientrano nelle categorie seguenti:

  • macro di eccezione, che struttura il gestore di eccezioni.

  • Eccezione-generare le funzioni, che generano eccezioni di tipi specifici.

  • Funzioni di terminazione, che provocano la chiusura del programma.

Per esempi e ulteriori dettagli, vedere l'articolo eccezioni.

Macro di eccezione

TRY

Definisce un blocco di codice per l'elaborazione delle eccezioni.

FERMO

Definisce un blocco di codice per intercettare un'eccezione dal blocco try precedente.

CATCH_ALL

Definisce un blocco di codice per rilevare tutte le eccezioni del blocco try precedente.

AND_CATCH

Definisce un blocco di codice per intercettare i tipi di eccezione aggiuntivi dal blocco try precedente.

AND_CATCH_ALL

Definisce un blocco di codice per rilevare tutti gli altri tipi di eccezione aggiuntivi generati in un blocco try precedente.

END_CATCH

Termina l'ultimo CATCH o blocco di codice di AND_CATCH .

END_CATCH_ALL

Termina ultimo blocco di codice di CATCH_ALL .

TIRO

Genera un'eccezione specificata.

THROW_LAST

Genera l'eccezione non gestita al gestore esterno seguente.

Eccezione-Generare le funzioni

AfxThrowArchiveException

Genera un'eccezione nell'archivio.

AfxThrowFileException

Genera un'eccezione di file.

AfxThrowMemoryException

Genera un'eccezione di memoria.

AfxThrowNotSupportedException

Genera un'eccezione non-supportata.

AfxThrowResourceException

Genera un'eccezione risorsa-non-cercata windows.

AfxThrowUserException

Genera un'eccezione in un'azione avviata dall'utente di programma.

MFC offre due funzioni eccezione-generantesi appositamente per le eccezioni OLE:

Funzioni di eccezione OLE

AfxThrowOleDispatchException

Genera un'eccezione all'interno di una funzione di automazione OLE.

AfxThrowOleException

Genera un'eccezione OLE.

Per supportare le eccezioni di database, le classi di database forniscono due classi di eccezione, CDBException e CDaoExceptione funzioni globali per supportare i tipi di eccezioni:

Funzioni di eccezione di DAO

AfxThrowDAOException

Genera CDaoException dal codice.

AfxThrowDBException

Genera CDBException dal codice.

MFC offre la seguente funzione di chiusura:

Funzioni di terminazione

AfxAbort

Chiamato per terminare un'applicazione quando un errore irreversibile si verifica.

Vedere anche

Riferimenti

Classe CException

Concetti

Macro MFC e Globals