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

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

Как отловить исключительную ситуацию, которая возникает, когда я [D6, IB6.x]


Брат ©   (2002-11-26 16:43:00) 

Люди, как отловить исключительную ситуацию, которая возникает, когда я пытаюсь в проиндексированное поле занести одинаковые значения (значения у меня стоят уникальные(UNIQUE))?


Брат   (2002-11-26 18:18:00) [1]


> procedure TForm1.AppException(Sender: TObject; E: Exception);
>
> begin
> if E.ClassType = {то что ловишь} then
> begin
> E.Free;
> E:= Exception.Create("В угол поставлю!");
> end;
> Application.ShowException(E);
> end;

Что-то не получается: вместо {то что ловишь} подставляю EIBInterBaseError - компилятор матерится....


Брат   (2002-11-26 17:46:00) [2]

Он вообще не заходит в OnPostError....


Diouzshev   (2002-11-26 17:43:00) [3]

Можно, если подойдет
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;

end;

procedure TForm1.AppException(Sender: TObject; E: Exception);

begin
if E.ClassType = {то что ловишь} then
begin
E.Free;
E:= Exception.Create("В угол поставлю!");
end;
Application.ShowException(E);
end;


exit   (2002-11-26 17:38:00) [4]

Брат, ты че? Дави F1.
А для IBX есть Event - OnPostError... я же написал.


exit   (2002-11-26 17:35:00) [5]

Да, криво это все.
Про обработку ошибок в IBDatabase читай на:
http://www.ibase.ru


Брат   (2002-11-26 17:32:00) [6]


> type TDataSetErrorEvent = procedure(DataSet: TDataSet; E:
> EDatabaseError; var Action: TDataAction) of object;

пожалуйста, поподробнее...


Johnmen   (2002-11-26 17:31:00) [7]

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


exit   (2002-11-26 17:30:00) [8]

Не докопировал...

property OnPostError: TDataSetErrorEvent;


exit   (2002-11-26 17:29:00) [9]

Для случая с IBX:

type TDataSetErrorEvent = procedure(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction) of object;


Брат   (2002-11-26 17:25:00) [10]


> try
>
> except on E: EНазваниеИзОкнаException do
> begin
> ...
> end;
> end;

куда это вставить? В BeforePost не получается....


exit   (2002-11-26 16:56:00) [11]


try

except on E: EНазваниеИзОкнаException do
begin
...
end;
end;


Johnmen   (2002-11-26 16:55:00) [12]

try


Наверх

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