URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9596
[ Назад ]

Исходное сообщение
"перезапустить функцию - как лучше?"

Отправлено greenwar , 09-Дек-12 00:58 
доброй ночи
есть цикл, в нём вызывается функция
функция потенциально может получить сбой и не выполнить свою задачу
вернётся в цикл, а там уже следующее значение
хочу, в случае сбоя, перезапустить функцию с тем же значением, чтобы получить таки нужные данные (сбой не постоянный, а случайный, и от меня не зависит)
как это лучше сделать?

Содержание

Сообщения в этом обсуждении
"перезапустить функцию - как лучше?"
Отправлено Etch , 09-Дек-12 02:22 
Запускайте её в цикле while:

my $err = 1;
do { $err = myfunc(); } while ($err > 0)

В данном случае при успехе функция должна вернуть ноль.


"перезапустить функцию - как лучше?"
Отправлено greenwar , 09-Дек-12 04:38 
> Запускайте её в цикле while:
> my $err = 1;
> do { $err = myfunc(); } while ($err > 0)
> В данном случае при успехе функция должна вернуть ноль.

спасибо, а есть какое-то принципиальное различие между while(){} и do{}while() ?


"перезапустить функцию - как лучше?"
Отправлено Etch , 09-Дек-12 04:59 
http://it-library.org/articles/?c=3&&a=52