Статья: Введение в ADO
pConn->Open(strConn,"sa","",adConnectUnspecified);
}
catch(_com_error e)
{
//Обработка ошибок соединения
}
Примечание:
Исключения в ADO. Для обработки исключений ADO необходимо обеспечить блок catch для объекта _com_error. Этот класс используется для возврата ошибок из классов, сгенерированных директивой #import. Класс _com_error инкапсулирует генерируемые значения HRESULT и любые объекты IErrorInfo, сгенерированные поставщиком OLE DB.
Пример обработчиков исключений ADO:
void PrintComError(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
// Print COM errors.
printf("Error ");
printf(" Code = %08lx ", e.Error());
printf(" Code meaning = %s ", e.ErrorMessage());
printf(" Source = %s ", (LPCSTR) bstrSource);
printf(" Description = %s ", (LPCSTR) bstrDescription);
}
void PrintProviderError(_ConnectionPtr pConnection)
{
// Print Provider Errors from Connection object.
// pErr is a record object in the Connection's Error collection.
ErrorPtr pErr = NULL;
if( (pConnection->Errors->Count) > 0)
{
long nCount = pConnection->Errors->Count;
// Collection ranges from 0 to nCount -1.