Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо