![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Игнорирование ошибки
faiwer © (2010-07-01 21:14:00)Доброго времени суток. Давно назревал вопрос, но всё не решался спросить. Допустим есть такая ситуация:
for i:=0 to l
do Some();
Задача - сделать так, чтобы при возникновении ошибки в Some(), цикл продолжал работать. Пробовал сделать так:
for i:=0 to l do
try
Some();
finally
Continue;
end;
Не компилит, пишет что нельзя использовать подобные операнды в теле finally end; На этом мои познания в обработке ошибок заканчиваются. Как можно добавить желаемого результата?
По сабжу особо назрел этот вопрос потому, что часть моей программы сжимает заданное изображение, рисует рамку и пересохраняет необходимым образом. Один из режимов работы программы проделывает это не с единичным рисунком, а с целой папкой, где список файлов проходит циклом while. Так или иначе, файлы бывают разные, и шанс что среди сотни рисунков заглючит или мой код, или загрузка рисунка классами TGIFImage, TPNGImage, TBitMap, TJPEGImage очень велика.
P.S. D2010, W7
Германн (2010-07-02 02:26:00) [1]
> faiwer © (02.07.10 00:34) [4]
>
> Leonid Troyanovsky, Ваше мнение очень важно для нас. Оставайтесь
> на линии, вам обязательно ответят!
>
Фиговый, видимо, тот код.
И мне ответьте, пожалуйста.
Anatoly Podgoretsky (2010-07-02 00:45:00) [2]> faiwer (02.07.2010 00:34:04) [4]
Надо кости бросать, может выпадут нужные.
faiwer (2010-07-02 00:34:00) [3]Leonid Troyanovsky, Ваше мнение очень важно для нас. Оставайтесь на линии, вам обязательно ответят!
Leonid Troyanovsky (2010-07-01 22:52:00) [4]
> faiwer © (01.07.10 21:14)
> файлов проходит циклом while. Так или иначе, файлы бывают
> разные, и шанс что среди сотни рисунков заглючит или мой
> код, или загрузка рисунка классами TGIFImage, TPNGImage,
> TBitMap, TJPEGImage очень велика.
Фиговый, видимо, тот код.
И исключать, стало быть, надо шансы.
--
Regards, LVT.
faiwer (2010-07-01 21:22:00) [5]Заработало, спс. Почему то об except; даже не задумывался.
Что касается обработки ошибок внутри - я пробовал, но использовал также finally, а не except (там у меня эти конструкции везде, чтобы уничтожать созданные TGraphic) и ничего не помогало.
Омлет (2010-07-01 21:18:00) [6]
for i:=0 to l do
begin
try
Some();
except
end;
end;
Но так делать нельзя! Ошибки загрузки необходимо обрабатывать должным образом там, где грузятся изображения.