![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
try...except своими руками [Delphi, Windows]
XProger © (2005-11-19 07:06:00)Как устроен перехват исключений в Delphi?
На опыте понял, что находится всё это в SysUtils, т.к. без его подключения, даже деление на 0 не перахватывается:
k := 0;
try
t := t/k;
except
end;
Приложение вылетает с Runtime ошибкой.
В системных заголовках (SysInit) встречаются некоторые переменные, имхо имеющие отношение к исключениям. Только вот как они работают?
Буду признателен за любые разъяснения по данному вопросу :)
P.S.
Работа модуля err.pas (KOL) также остаётся загадкой :)
NE_Parovoz (2005-11-19 22:00:00) [1]XProger
насколько я знаю, на асме устанавливается что-то в флаговый регистр, вроде можно даже обработчик исключкния назначить, как и с прерываниями
Vladimir Kladov (2005-11-19 19:51:00) [2]Разве для err.pas нет описалово? Я советую не использовать замену system, если нужен try..except.
XProger (2005-11-19 17:46:00) [3]SPeller, дык я хотел узнать какие процедуры и для чего они предназначены. И какое отношение они имеют к компилятору, и вообще как эти исключения вылавливаются? :)
SPeller (2005-11-19 17:37:00) [4]XProger © (19.11.05 17:17) [3]
SPeller, именно :)
Ну тогда пробуй добавлять/убирать куски, что ещё можно посоветовать :)
XProger (2005-11-19 17:17:00) [5]SPeller, именно :)
Thaddy, i do not want to use err.pas :)
SPeller (2005-11-19 13:19:00) [6]Ты случаем не с опустошёнными системными модулями работаешь?
Thaddy (2005-11-19 09:40:00) [7]Use err.pas (from the official kol website). No sysutils necessary.