The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"перезапустить функцию - как лучше?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

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

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "перезапустить функцию - как лучше?"  +/
Сообщение от Etch on 09-Дек-12, 02:22 
Запускайте её в цикле while:

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "перезапустить функцию - как лучше?"  +/
Сообщение от Etch on 09-Дек-12, 04:59 
http://it-library.org/articles/?c=3&&a=52
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру