@FlyingBrick

Powershell: как сделать несколько попыток коннекта к серверу и только после этого выкинуть exception?

Часто возникает такая задача, когда может что-то помешать при ее выполнении, и надо сделать несколько попыток перед тем как "плюнуть" эксепшеном. Как пример коннект к SSRS:

$Proxy = New-WebServiceProxy -Uri $Uri -Namespace SSRS.ReportingService2010 -Credential $credentials


Я пишу обычно велосипед:

for($i = 0; $i -lt 5; $i++) #try 5 times
            {
                try
                    {
                        $Proxy = New-WebServiceProxy -Uri $Uri -Namespace SSRS.ReportingService2010 -Credential $credentials
                    }
                catch
                    {
                        if($i -eq 4)
                            {
                                Throw $_.Exception.Message
                            }
                        Start-Sleep -s 5 #pause on 5 second
                    }
            }


Может есть более элегантное решение?
  • Вопрос задан
  • 3227 просмотров
Пригласить эксперта
Ответы на вопрос 1
ace_foster
@ace_foster
На самом деле вполне себе нормальная конструкция.
Единственно попробуйте использовать K&R стиль при написании кода. Уменьшите количество строк и улучшите читабельность
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы