Partilhar via


Interceptação de erros

Em ligação de dados, a interceptação de erro vem de duas fontes: eventos de erro ou objetos de erro.

Erro de ajuste de registro por meio de eventos de erro

O controle de dados do ADO e os controles de dados de controle RemoteData do RDO tem eventos de erro. Normalmente, você pode definir um manipulador de eventos de erro. Os manipuladores de eventos tem a assinatura a seguir.

void CMyDlg::OnErrorAdodc1(long ErrorNumber,
                           BSTR* FAR Description,
                           long Scode,
                           LPCTSTR Source,
                           LPCTSTR HelpFile,
                           long HelpContext,
                           BOOL FAR* fCancelDisplay)

Geralmente o campo de descrição é preenchido, mas os campos ErrorNumber e Scode só são preenchidos no caso de erros COM. Um manipulador de eventos padrão é exibir o campo de descrição em uma caixa de mensagem. For example:

{
   USES_CONVERSION;   
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
   ::AfxMessageBox(OLE2T(*Description), MB_OK);
}

No entanto, porque o controle de dados do ADO e o controle do RDO RemoteData já configuradas para interceptar eventos de erro, sem codificação é necessária.

Erro de Trapping de objetos de erro

ADO e o RDO tem objetos de erro. Ao gerar classes wrapper, o controle RemoteData do RDO gera invólucros para objetos de erro, mas não o controle de dados do ADO.

O controle de dados do ADO exibe automaticamente as mensagens de erro do ADO.

Consulte também

Referência

Ligação de dados com controles de ActiveX no Visual C++