Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глобальная обработка ошибок, как осуществить. 
:(
    Опции темы
Medved
Дата 4.5.2003, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Как определить глобальный обработчик ошибок. Желательно с примерами.

P.S. На разъяснение этой конструкции просьба особо не останавливаться, и этим не ограничиваться.
Код
 try
 except
   on E:Exception do
 end;




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
&-ray
Дата 4.5.2003, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 406
Регистрация: 15.4.2003
Где: Казахстан, г Аста на

Репутация: нет
Всего: нет



Цитата

P.S. На разъяснение этой конструкции просьба особо не останавливаться, и этим не ограничиваться.
Код

try
except
  on E:Exception do
end;


Приведенная конструкция - локальный обработчик.
Для определения глобального обработчика используй процедуру

Код

procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
 E: Exception);
begin
messagedlg(e.message,mterror,[mbok],0); //выдает ошибку в диалоговом окне
end;


Это простой образец обработчика, при желании можно обрабатывать конкретные исключения и производить в зависимости от этого какие-либо действия.
Главная особенность глобального обработчика:
все исключительные ситуации приложения проходят через него и если для конкретной ошибки нет какого-либо предписания, то в приложении вообще не будет выдаваться каких-либо сообщений для информирования пользователя.
Вроде кратко и популярно ;)


--------------------
"Совсем неважно от чего помрешь, ведь куда важнее - для чего родился..." С.Б.

--------------------
И снова мышь беру я в руки
Куда иду? - Конечно в сруки!
PM MAIL WWW   Вверх
Fantasist
Дата 5.5.2003, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: нет
Всего: 41



Application.OnException, если используешь объект Application (VCL-ное визуальное приложение). Этот обработчик ловит все исключения возникающие в цикле обработки сообщений, то есть практически любые не перехваченные исключения попадут в него.

Если нет, открываешь Project Source и ставишь try/except сразу после begin.

Ни тот ни другой способ не являются глобальными обработчиками - есть секции инициализации модулей, где может произойти исключение. Глобально, это бы надо задать свой обработчик исключений по умолчанию, но, по-моему, такой возможности в Delphi нет.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Medved
Дата 17.5.2003, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Спасибо.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.