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

Вниз

Проблемі с ON E: exception   Найти похожие ветки 

 
Babenko Alexey   (2003-07-31 13:51) [0]

Почему не работает следующий код

var i: Integer;
begin
 i := 0;
 TRY
   i := i div I;
 EXCEPT ON E: exception
   do begin
     ShowMessage( "Exception: " + E.Message);
   end;
 END;
end;
Ну перехватил он ошибку, а толку мало. Всё равно прога вывалилась.

хотя такой пашет нормально
var i: Integer;
begin
 i := 0;
 TRY
   i := i div I;
 EXCEPT
   ShowMessage( "Exception: " );
 END;
end;
Проблема в последнем примере в том, что я не знаю какая ошибка произошла.


 
mdw ©   (2003-07-31 14:03) [1]

Подключи модуль Err.pas


 
Babenko Alexey   (2003-07-31 19:56) [2]

Не ві не поняли. Всё у меня подключенно. Exceptions перехватываются, я о них узнаю. Но если я пишу как в 1 варианте, то после перехвата прога благополучно вываливается. Если же как во 2 варианте, то всё класно работает, но я не могу прописать в логи какая именно ошибкка произошла


 
mdw ©   (2003-07-31 21:14) [3]

Да, действительно. Причем не работает и просто
EXCEPT
   ON E: exception do;
END;
скорее всего это ошибка, к автору нужно обращаться.


 
Кладов   (2003-08-01 21:24) [4]

Вообще, когда я делал err.pas, строчку

 ExceptClsProc := @GetExceptionClass;

просто закомментарил, и подписал:

 // {-} ExceptClsProc is used only in "except on" implementation. If error code
 // is catched by another way, it is not needed.

т.е. почему-то решил на тот момент, что on E: Exception не потребуется. Потом было изменение, которое позволяло обработать on exception для случая собственного raise, а процедуру GetExceptionClass то ли не нашел как подправить, то ли просто забыл про это закомментаривание.

Короче, возьмите исправленный kol_err.zip, теперь можно обрабатывать on exception, как написано было в описании, и теперь не только для собственных возбуждений по raise.



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

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

Наверх




Память: 0.47 MB
Время: 0.087 c
14-1079782302
SPeller
2004-03-20 14:31
2004.04.11
С++


1-1082808957
AndreyL
2004-04-24 16:15
2004.04.11
Zagruzka procedure pri starte programmi ili zagruzke formi!


14-1081907484
Думкин
2004-04-14 05:51
2004.04.11
С днем рождения! 14 апреля.


7-1075632818
Suport1
2004-02-01 13:53
2004.04.11
Как перехватить нажатие с клавиатуры ....


3-1081362373
Swimmer
2004-04-07 22:26
2004.04.11
Какое ядро БД легче: BDE, dbExpress или ADO?