Вниз
Скачать: CL | DM;

try...except своими руками   Найти похожие ветки 

 
XProger ©   (2005-11-19 07:06) [0]

Как устроен перехват исключений в Delphi?
На опыте понял, что находится всё это в SysUtils, т.к. без его подключения, даже деление на 0 не перахватывается:

k := 0;
try
t := t/k;
except
end;

Приложение вылетает с Runtime ошибкой.

В системных заголовках (SysInit) встречаются некоторые переменные, имхо имеющие отношение к исключениям. Только вот как они работают?

Буду признателен за любые разъяснения по данному вопросу :)

P.S.
Работа модуля err.pas (KOL) также остаётся загадкой :)


 
Thaddy   (2005-11-19 09:40) [1]

Use err.pas (from the official kol website). No sysutils necessary.


 
SPeller ©   (2005-11-19 13:19) [2]

Ты случаем не с опустошёнными системными модулями работаешь?


 
XProger ©   (2005-11-19 17:17) [3]

SPeller, именно :)
Thaddy, i do not want to use err.pas :)


 
SPeller ©   (2005-11-19 17:37) [4]

XProger ©   (19.11.05 17:17) [3]
SPeller, именно :)

Ну тогда пробуй добавлять/убирать куски, что ещё можно посоветовать :)


 
XProger ©   (2005-11-19 17:46) [5]

SPeller, дык я хотел узнать какие процедуры и для чего они предназначены. И какое отношение они имеют к компилятору, и вообще как эти исключения вылавливаются? :)


 
Vladimir Kladov   (2005-11-19 19:51) [6]

Разве для err.pas нет описалово? Я советую не использовать замену system, если нужен try..except.


 
NE_Parovoz ©   (2005-11-19 22:00) [7]

XProger
насколько я знаю, на асме устанавливается что-то в флаговый регистр, вроде можно даже обработчик исключкния назначить, как и с прерываниями



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
2-1155630742
GEM
2006-08-15 12:32
2006.09.10
Calculated field - не удается правильно вычислить


15-1155762234
kosfiz
2006-08-17 01:03
2006.09.10
компилятор от delphi 3


2-1156174355
her
2006-08-21 19:32
2006.09.10
RichEdit.Lines.Add


2-1156318171
Dell3r
2006-08-23 11:29
2006.09.10
Append


2-1156019232
md
2006-08-20 00:27
2006.09.10
обработка событий




   Наверх