C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Коды исключений в catch(), нужен код исключения при ...
Dag
Отправлено: 10.04.2004, 16:31


Ученик-кочегар

Группа: Участник
Сообщений: 4



При выполнении нижеследующего запроса, в сети может не оказаться требуемого сервера БД. Какой код надо поставить в catch, чтоб поймать эту ситуацию и обработать?
...
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Select Password from Worker where Alias = '" + Edit1->Text + "'");
try
{
ADOQuery1->Open();
}
catch (...) <- при таком коде, я все поймаю, а надо тока отсутствие
{} сервака. sad.gif

И вообще, не подскажите где посмотреть можно все эти коды?
olegenty
Отправлено: 12.04.2004, 06:56


Ветеран

Группа: Модератор
Сообщений: 2412



try
{
...
} catch (const Exception &E)
{
ShowMessage(E.Message.Trim());
}

в общем случае даже так:

try
{
...
} catch (const Exception &E)
{
if (Класс_ошибки Err = dynamic_cast<класс_ошибки>(err))
{
работай со своим классом
}
}

аналогично:

try
{
...
} catch (const Exception &E1)
{
...
} catch (AnsiString &A)
{
} catch (и т.д. любые классы, которые были отправлены throw)
{
} catch (...) — всё, что не распознал
{
}



Dag
Отправлено: 25.04.2004, 23:21


Ученик-кочегар

Группа: Участник
Сообщений: 4



Это понятно. Вот тока меня интересует код исключения именно для отлова отсутствия SQL сервера в сети. Есть такой?
olegenty
Отправлено: 26.04.2004, 07:21


Ветеран

Группа: Модератор
Сообщений: 2412



для различных серверов может быть различным (и будет). смоделируй ситуацию (выруби комп из сети), посмотри на код ошибки и пользуйся им потом...

Вернуться в Вопросы программирования в C++Builder