Вниз
Скачать: CL | DM;

Как продолжить выполнение программы после искл. ситуации(raise)?   Найти похожие ветки 

 
VoyagerEternal ©   (2009-06-26 16:05) [0]

Как продолжить выполнение программы после искл. ситуации(raise)?

Задача такая:
загружаю с инета файл функцией:
http.Get("http:\\",FileStream);
если загрузка не удалась, функция генерирует исключительную ситуацию вызовом raise

вопрос: как продолжить выполнение процедуры при ошибке (исключительной ситуации)?


procedure TForm1.Button1Click(Sender: TObject);
begin

try
 http.Get("http:\\",FileStream);
finally
 //здесь программа выходит из процедуры если была ошибка
 //как заставить программу продолжить выполнять эту процедуру при ошибке?
end.

...//этот код не выполняется при ошибке (исключительной ситуации), а хочется

end;


 
Юрий Зотов ©   (2009-06-26 16:09) [1]

Посмотрите try-except


 
VoyagerEternal ©   (2009-06-26 16:20) [2]

try
http.Get(Url,F);
except on E:Exception do
end;

работает,
как теперь заставить http.Get не показывать сообщение об ошибке — оно мешает работе программы


 
DVM ©   (2009-06-26 16:28) [3]


> http.Get не показывать сообщение об ошибке — оно мешает
> работе программы

Это не твоя программа сообщение показывает это Delphi - в свойствах там где сними галку Stop On Delphi Exceptions


 
Юрий Зотов ©   (2009-06-26 16:29) [4]

> VoyagerEternal ©   (26.06.09 16:20) [2]

Попробуйте запустить программу НЕ из Delphi.


 
Ega23 ©   (2009-06-26 16:37) [5]


> как теперь заставить http.Get не показывать сообщение об
> ошибке — оно мешает работе программы


Если запустишь не из среды Delphi - будет всё нормально.
Если в среде не хочешь ошибку получать:
Tools -> Debugger Options -> Language Exceptions -> Stop on Delphi Exceptions (зависит от версии Delphi, у меня Notify on language exceptions)
Но с этой галкой осторожнее - я так, однажды её сняв и забыв обратно включить, бился почти день, ошибку искал.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
15-1245963387
Германн
2009-06-26 00:56
2009.08.30
Старикам, помнящим свою молодость.


15-1246131261
DillerXX
2009-06-27 23:34
2009.08.30
Вопрос по терверу


15-1246310150
Cerberus
2009-06-30 01:15
2009.08.30
Вопрос про OEM лицензию WIN.


15-1246111489
Новичок
2009-06-27 18:04
2009.08.30
Помогите разобраться...


2-1246249539
karlit0
2009-06-29 08:25
2009.08.30
Combobox и Memo




   Наверх