Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > правильно обрабатываю ошибки?


Автор: Aprol 10.10.2007, 14:21
Код

try
  form1.base.Open;

except
 on e:exception do
   if pos('Your user name',e.Message)<>0 then
       showmessage('Неверный пользователь')
    else
          showmessage('Ошибка подключения к базе данных');
 end;

При коннекте к базе класс ошибки один EIBInterBaseError.
Делаю проверку ошибки:нет подключения к серверу и неверный логин/пароль.
Правильно я делаю?

Автор: Rodman 10.10.2007, 14:27
вот так я делаю конект, только к Access
Код

    try
      ADOConnection.Close();
      ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Maximus.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password='+PassEdt.Text;
      ADOConnection.Open();
    except
      on E: Exception do
      begin
       ShowMessage(e.Message);
       Exit;
      end;
    end;

Цитата(Aprol @  10.10.2007,  14:21 Найти цитируемый пост)
Делаю проверку ошибки:нет подключения к серверу и неверный логин/пароль.

как?

Автор: Deniz 11.10.2007, 05:09
Немного дополню код:
Код

try
  form1.base.Open;
except
  on e:exception do 
  begin
    if pos('Your user name', e.Message)<>0 then
      s:='Неверный пользователь'
    else
      s:='Ошибка подключения к базе данных';
    s:=s + #13#13 + e.Message;
    showmessage(s);
  end;
end;

Все таки оригинальный текст ошибки тоже надо выводить, а то получишь 'Ошибка подключения к базе данных' и думай, что там случилось.
Лучше сделать не ShowMessage, а свою форму с кнопкой "Подробно" и показывающимся/скрывающимся Memo.
В Memo запихать все нужные поля из E:Exception(или EIBInterBaseError), в простом случае E.Message.

Автор: Aprol 12.10.2007, 14:20
Я уже спрашивал, но спрошу еще.
Где можно взять описание ошибок на русском и сообщения на английском которые выдаются при ошибке?
Например неверное имя или пароль-Your user name... и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)