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