Вниз
Скачать: 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.06 c
3-1151559877
yaral
2006-06-29 09:44
2006.09.10
Подключиться к базе MSDE


2-1156001510
RASkov
2006-08-19 19:31
2006.09.10
NToXY


3-1151943933
SergP
2006-07-03 20:25
2006.09.10
Oracle --> dbf. Как сделать попроще?


2-1156289432
B.T.R.
2006-08-23 03:30
2006.09.10
RichEdit-RTF


15-1155609732
boalse
2006-08-15 06:42
2006.09.10
Unsafe code, как с этим бороться?




   Наверх