imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 19.05.2005, 19:21     # 1
oji
Guest
 
Сообщения: n/a

Exceptions in Delphi (MyComponents)

Ребята, у меня проблема с перехватом исключения (причём, такая же штука наблюдалась и при работе с ODBC). Есть код:

...
try
try
FormModules.dmdlMySQL.MySQLServer.Connect;
except
on E:EMySQLError do begin
case E.Error of
ER_ACCESS_DENIED_ERROR: ShowMessage('Access Denied');
else
ShowMessage(E.Message);
end;
end;
end;
except
on E:EMySQLError do begin
ShowMessage(E.Message);
end;
...

Так вот, при двойном вызове обработчика, он иногда ловит это исключение (повторюсь, ИНОГДА), а если убрать один из try..except - то вообще не видит и вылетает в Debug.

P.S. Delphi 7, WinXP SP1... Процедурка выполняется в отдельном потоке. Хотя и без потока та же фигня... ( А через две недели надо сдавать курсовик...
 
Старый 19.05.2005, 22:32     # 2
Willow
Junior Member
 
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118

Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)
Если надо поймать все исключения, то On E:Eception;
А EMySQLError это одно частное исключение
Willow вне форума  
Старый 20.05.2005, 19:31     # 3
oji
Guest
 
Сообщения: n/a

Увы, но не во "всех эксепшнах" проблема. Проблема в том, что они не перехватываются. БДшные...
 
Старый 20.05.2005, 21:07     # 4
Willow
Junior Member
 
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118

Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)
Блок
Try
//ЧТо угодно
Except
On E:Exception do
End;

Должен перехватывать абсолютно всё. Если этого не происходит, то где-то кто-то портит память.
Willow вне форума  
Старый 21.05.2005, 14:10     # 5
Vladimir2003
Junior Member
 
Аватар для Vladimir2003
 
Регистрация: 16.12.2003
Адрес: V korobke
Пол: Male
Сообщения: 194

Vladimir2003 МолодецVladimir2003 МолодецVladimir2003 Молодец
а пошагово выполнять не пробовал?
__________________

-----------------------,
| холодное пиво |,,|"""\,__,
| _____________ |,,||_|_ _||)
/(@)(@)******/(@)*****(@)
Vladimir2003 вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:18.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.