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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка исключений 
:(
    Опции темы
devmstr
  Дата 31.12.2004, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

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



Как перехватить все исключения в определенном блоке и уничтожить их.

P.S. С Новым Годом!


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Bes
Дата 31.12.2004, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



:-)
Поставить в самом начале блока трай в самом конце ексепт енд и все будет или работать или не работать.
Не совсем понял вопроса.
PM MAIL   Вверх
devmstr
Дата 31.12.2004, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

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



Но сообщения об ошибках все равно будут выводится!


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
<Spawn>
Дата 1.1.2005, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Цитата(magician @ 31.12.2004, 15:02)
Но сообщения об ошибках все равно будут выводится!

Разумеется, если запускать программу из Дельфи с включенной опцией Debugger Options > Language Exceptions > Stop on Delphi Exceptions. Запускай прогу либо вне среды разработки, либо отключи вышеуказаную опцию.

Это сообщение отредактировал(а) <Spawn> - 1.1.2005, 00:35


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
asdf
Дата 1.1.2005, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 27.8.2004
Где: Кишинёвъ

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



deleted

Это сообщение отредактировал(а) shurick - 23.2.2005, 23:21
--------------------
... 
PM MAIL   Вверх
Bes
Дата 10.1.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2magician:
Цитата
Но сообщения об ошибках все равно будут выводится!

Только при отладке.
PM MAIL   Вверх
Cetus
Дата 10.1.2005, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Можно сделать таким образом:

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
end;

procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
// do nothing or something
showmessage('exception was destroyed');
end;
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
Akella
Дата 10.1.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



try
код, который может выхвать исключения
except
//сюда ничего не пишешь
end;

!!! Обрати внимание, что при запуске приложения в среде Delphi все равно исключения буду "всплывать". Я в таких случаях вывожу ярлык на рабочий стол.
PM MAIL   Вверх
z-END
Дата 10.1.2005, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

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



dsergey а можно просто это отключить в самих Дельфях:
Tools->Debugger Options->Language Exceptions->Stop on Delphi Exceptions (убрать галочку)



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
tcomponent
Дата 11.1.2005, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



либо так :
через applicatyionevents
при этом сохранится лог с ошибками

procedure Tmainform.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
var
filename:string;
logfile:textfile;
begin
// сохранение лога с ошибками
filename:=changefileext('Error','.log');
assignfile(logfile,filename);
if FileExists(filename)then
append(logfile)
else
rewrite(logfile);
writeln(logfile,datetimetostr(now)+':'+e.message);
closefile(logfile);
end;

Добавлено @ 10:25
в этом методе подавляютсЯ сообщения об еррорах
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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