Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Exception   Найти похожие ветки 

 
nick-from ©   (2002-12-02 00:59) [0]

На сервере есть код:

Create Exception My_Exception "My Exception Text";
Create procedure My_ErrorCall
as
begin
My_Exception;
end;

У клиента на форме - обработчик кнопки:

procedure TForm1.Button1Click(Sender: TObject);
begin
Try
pFIBTransaction1.StartTransaction;
pFIBStoredProcError.ExecProc;
pFIBTransaction1.Commit;
ShowMessage("Commit");
except
ShowMessage("Rollback");
pFIBTransaction1.Rollback;
end;
end;

По нажатию этой кнопки, по идее, должно выскочить окно ошибки с текстом: "My Exception Text", чего не происходит, а выдается сообщение о RollBack ???
Если убрать слова Try-Except-End, то сообщение об ошибке "My Exception Text" выдается, и видимо после него происходит выход из процедуры (ни одного сообщения ShowMessage). Как в этом случае можно организовать подтверждение/откат транзакции, если до pFIBTransaction1.Rollback; дело даже не доходит.


 
Alexandr ©   (2002-12-02 06:45) [1]

протри глаза, посмотри трезвым взглядом на свой код


 
Prooksius ©   (2002-12-02 09:57) [2]

Хороший совет... :)

Кроме протирки глаз можно посоветовать обратить внимание на твою ХП. В ней exception надо вызывать так:

begin
exception My_Exception;
end
(c)Language Reference - читай почаще доку.


 
Digitman ©   (2002-12-02 12:18) [3]


> должно выскочить окно ошибки с текстом: "My Exception Text",
> чего не происходит, а выдается сообщение о RollBack ???


except
ShowMessage("Rollback");
pFIBTransaction1.Rollback;
raise;
end;

вот тебе и 2 окна "скачут" : первое с "RollBack", второе - с "...Exception N ...My Exception Text"



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-61886
Oleg_G
2002-11-05 22:30
2002.12.19
Вопрос в том, как можно разделить поток данных


8-61708
Ptr
2002-08-13 16:10
2002.12.19
Срвнение картинок


1-61619
ACR
2002-12-06 21:12
2002.12.19
выделение текста в TWebBrowser


6-61739
TDI
2002-10-25 19:32
2002.12.19
Как узнать маску подсети ?


3-61409
Eduard
2002-12-02 15:09
2002.12.19
Подвисание программы на время выборки большого объёма данных.