Manipulando erros no Visual C++
Em COM, a maioria das operações retorna um código de retorno HRESULT que indica se uma função foi concluída com êxito. A diretiva #import gera código contorno (ou "wrapper") em torno de cada método ou propriedade "cru" e verifica o HRESULT retornado. Se o HRESULT indicar falha, o código de wrapper gerará um erro COM chamando _com_issue_errorex() com o código de retorno HRESULT como um argumento. Objetos de erro COM podem ser capturados em um bloco try-catch. (Para fins de eficiência, capture uma referência a um objeto _com_error.)
Lembre-se de que estes são erros do ADO: eles resultam da falha na operação do ADO. Os erros retornados pelo provedor subjacente aparecem como objetos Error na coleção Erros do objeto Conexão.
A diretiva #import só cria rotinas de tratamento de erros para métodos e propriedades declaradas no .dlldo ADO. No entanto, você pode aproveitar esse mesmo mecanismo de tratamento de erros escrevendo sua própria macro de verificação de erros ou função embutida. Consulte o tópico Extensões do Visual C++ para obter exemplos.