Condividi tramite


Gestione degli errori in Visual C++

In COM la maggior parte delle operazioni restituisce un codice restituito HRESULT che indica se una funzione è stata completata correttamente. La direttiva #import genera codice wrapper intorno a ogni metodo o proprietà "raw" e controlla il valore HRESULT restituito. Se HRESULT indica un errore, il codice wrapper genera un errore COM chiamando _com_issue_errorex() con il codice restituito HRESULT come argomento. Gli oggetti di errore COM possono essere rilevati in un blocco try-catch. Per motivi di efficienza, intercettare un riferimento a un oggetto _com_error.

Tenere presente che si tratta di errori ADO, che derivano dall'operazione ADO non riuscita. Gli errori restituiti dal provider sottostante appaiono come oggetti Error nella raccolta Errors dell'oggetto Connection.

La direttiva #import crea solo routine di gestione degli errori per i metodi e le proprietà dichiarate nel .dllADO . Tuttavia, è possibile sfruttare questo stesso meccanismo di gestione degli errori scrivendo una macro o una funzione inline per il controllo degli errori. Per esempi, vedere l'argomento Estensioni di Visual C++.