CException

CException č la classe base per tutte le eccezioni in Microsoft Foundation Class Library. Le classi derivate e le loro descrizioni sono elencate di seguito:

CMemoryException Eccezione di memoria insufficiente
CNotSupportedException Richiesta di un'operazione non supportata
CArchiveException Eccezione specifiche dell'archivio
CException Eccezione specifica file
CResourceException Risorse di Windows non trovata o non createable
COleException OLE eccezione
CDBException Database exceptio&nnbsp; (cioč, le condizioni di eccezione derivanti per MFC database classi basate su Open Database Connectivity)
COleDispatchException OLE spedizione eccezione (automazione)
CUserException Eccezione che indica che una risorsa non č stata trovata
CDaoException Data access oggetto exception (cioč, condizioni di eccezione derivanti per classi DAO)
CInternetException Eccezione di Internet (cioč, condizioni di eccezione derivanti per le classi di Internet).

Queste eccezioni sono destinate ad essere utilizzati con il buttare, THROW_LAST, provare, cattura, AND_CATCHed END_CATCH macro. Per ulteriori informazioni sulle eccezioni, vedere Elaborazione di eccezione, o vedere l'articolo eccezioni nel manuale del programmatore di Visual C++.

Per intercettare un'eccezione specifica, utilizzare la classe derivata appropriata. Per la cattura di tutti i tipi di eccezioni, utilizzare CExceptione quindi utilizzare CObject::IsKindOf per differenziare tra CException-classi derivate. Si noti che CObject::IsKindOf funziona solo per le classi dichiarate con la macro IMPLEMENT_DYNAMIC , al fine di trarre vantaggio di controllo del tipo dinamico. Qualsiasi CException-classe derivata che si crea deve utilizzare la macro IMPLEMENT_DYNAMIC , troppo.

Č possibile segnalare i dettagli sulle eccezioni all'utente chiamando GetErrorMessage o ReportError, due funzioni membro che funzionano con una qualsiasi delle classi derivate CExceptiondi.

Se un'eccezione viene catturata da una delle macro, l'oggetto CException viene eliminato automaticamente; non eliminarlo da soli. Se un'eccezione viene catturata tramite una parola chiave di cattura , esso non viene automaticamente eliminato. Vedere l'articolo eccezioni in Visual C++ del programmatore guida per ulteriori informazioni su quando eliminare un oggetto di eccezione.

CException č una classe base astratta. Non č possibile creare oggetti CException ; č necessario creare oggetti di classi derivate. Se avete bisogno di creare tipi di CException , utilizzare una delle classi derivate sopra elencate come modello. Assicurarsi che la classe derivata utilizza anche IMPLEMENT_DYNAMIC.

# include lt;afx.h>

Membri della classe |nbsp; Classe base | Gerarchia Chart

Campio&nenbsp; Esempio MFC TEAR

Vedere a&nchenbsp;Eccezione di elaborazione

Index