Как правильно зациклить исключение?

291
25 декабря 2018, 21:50

Сообразил только в Catch менять переменную и с помощью goto повторять часть кода, а как правильно делать ?

        int kolVSpiske = list.Count - 1;
        IWebElement elem = null;
       povtor:
        try
        {
            elem = driver.FindElement(By.XPath("//*[.='" + list.ElementAt(kolVSpiske) + "'][last()]"));
        }
        catch (InvalidSelectorException)
        {
            elem = driver.FindElement(By.XPath("//*[.=concat('" + XpathEncode(list.ElementAt(kolVSpiske)) + "')][last()]"));
        }
        catch (NoSuchElementException)
        {
            kolVSpiske -= 1;
            goto povtor;
        }

UPD:

На основе комментариев, по вопросу вроде всё стало понятно, т.е. нужен цикл и в случае удачи - покинуть его.

Но не совсем понятно почему плохо использовать goto. Ведь он в моём случае делает тоже самое что и сделал бы цикл - нет ?

И так же код получит исключение - когда исчерпается list.

UPD:

Сам того не осознавая, оказалось, что с вопросом о goto, я коснулся извечного вопроса. Почитав штук 10 разных дискуссий о нём и вот такую статью:

Habr - GOTO or not GOTO вот в чём вопрос

  • для себя все вопросы по нему закрыл.
READ ALSO
Appearance для FocusedRow после потери фокуса

Appearance для FocusedRow после потери фокуса

Возникла достаточно простая проблемаУ меня есть форма с двумя элементами: 1) chooseBox - форма для выбора из списка; 2) gridView - представление в таблице...

282
Как посчитать сумму всех чисел для каждого нуля в массиве c#

Как посчитать сумму всех чисел для каждого нуля в массиве c#

Попалась задачка на собеседовании: есть нули и единицы в массивеНадо для каждого нуля посчитать сколько единиц правее него и вывести сумму...

298
apach24+.htaccess+php error 500

apach24+.htaccess+php error 500

Проблема такая, при переносе онлайн игры на другой хостинг возникает ошибки следующего родаСразу говорю ссылки все нормальные не битые

214
Вывод одного потом другого

Вывод одного потом другого

Вопрос такой: дан массив, нужно чтобы с начало выводились те слова длинна которых больше 6, а остальное ниже И что тут не так ?

176