Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка Exception [D6, IB6.x]


Roma111 ©   (2002-10-16 11:40:00) 

Уважаемые Знатоки, при запуске программы пользователь вводит имя и пароль, устанавливающие соответствующие права (стандартная ситуация). Обработка Exception у меня следующая:

with DataModule1.IbDatabase1 do
begin
params.Clear;
buf:=PrIni.ReadString("Data","Path", "xxx");
DatabaseName:=buf;

Params.add("user_name="+UserName);
Params.add("password="+Password);

Try
Open;
except
{on E:EIBInterbaseError do}
begin
ShowMessage("Unknow name or password!!!");
close;
Halt(0);
end;
end

Программа у меня сетевая. Везде стоят W2000.
На одних рабочих станциях Except обрабатывается нормально, на других нет и выдает системную ошибку типа "неправильная база".
Что мне делать : др. обработку Except или есть какие-то настройки в операционной системе?


Nikolay M.   (2002-10-16 14:57:00) [1]


> выдает системную ошибку типа "неправильная база".

Не может быть такое, что в рантайме DataModule1.IbDatabase1.Connected у тебя равно True? Тогда ессесно при запуске программы присходит попытка подключения к базе и если коннект не проходит, то вываливается exception...


Roma111   (2002-10-16 12:08:00) [2]

Виктор Щербаков

Нет, естественно, это может быть целый ряд причин :
-непр. логин
-непр. пароль
-непр. путь к базе
-нет сети
-сервер выключен

Пользователю это не нужно знать. Это мое дело. Мне нужна нормальная обработка exception, без выдачи системного expept и завешивании программы.


Виктор Щербаков   (2002-10-16 11:46:00) [3]

Ты делаешь смелое предположение о том, что причиной возникновения ошибки стал неправильный ввод пароля.

Попробуй посмотреть на код ошибки E.IBErrorCode, прежде чем выдать осмысленное сообщение.


Наверх

Титульная страница Поиск, карта сайта Написать письмо