![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RaIDeR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 20.6.2005 Репутация: 1 Всего: 4 |
Удивительно
к примеру проверьте у себя вот этот код:
В случае с try..except, у меня вылетает ошибка "Runtime error 216 at XXXXXX", и прога аварийно завершается, а в случае с try..finally, всё тоже, за исключением того что код, следующий после finally, всё же исполняется ... а если подключить модуль Forms - всё ок ! В чём проблема ??? ps Может у меня Delphi глючет ... |
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Дело в том, что исключения обрабатываются потомками класса Exception (и им самим). Отсюда следует, что для правильной обработки исключений нужно подключить модуль SysUtils.
P. S. Модуль Forms ссылается на SysUtils Это сообщение отредактировал(а) Rrader - 27.9.2005, 08:10 |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Ответ правильный, но не совсем точный.
Да, если модуль SysUtils не включен в программу, то механизм перехвата исключений не будет запущен. В таком случае, исключения будут приводить к автоматической остановке программы с сообщением о Runtime Error. Автор топика же, не совсем правильно пытается вызвать исключение. Дело в том, что его:
как раз обычно не будет вызывать исключения! Все будет определяться значением переменной p. А поскольку она локальная, то ее значение в принципе неопределено! Правильнее, использовать более надежные методы генерации исключений. Например, если переписать твою процедуру так:
То и результат будет несколько иным. Это сообщение отредактировал(а) Петрович - 27.9.2005, 16:24 -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| RaIDeR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 20.6.2005 Репутация: 1 Всего: 4 |
Спасибо что обьяснили !
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |