Interceptação de erro
Em databinding, o ajuste de registro de erro vem de duas fontes: eventos de erro ou objetos de erro.
Ajuste de registro de erro nos eventos de erro
O controle de dados ADO e os controles de dados de controle de RemoteData RDO têm eventos de erro. Normalmente, você definir um manipulador de eventos de erro. Os manipuladores de eventos têm a seguinte assinatura.
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
O campo de descrição é populado em geral, mas os campos de ErrorNumber e de Scode são populados apenas no caso de erros do. Um manipulador de eventos padrão deve exibir o campo de descrição em uma caixa de mensagem. Por exemplo:
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
Entretanto, como o controle de dados ADO e o controle de RemoteData RDO já estarão configuradas para interceptar eventos de erro, nenhuma codificação é necessária.
Ajuste de registro de erro pelos objetos de erro
ADO e RDO têm objetos de erro. Ao gerar classes wrapper, o controle de RemoteData RDO gerencia wrappers para objetos de erro, mas o controle de dados ADO não.
O controle de dados ADO automaticamente exibe mensagens de erro ADO.