Обход исключения в цикле вызова Python

Вы можете использовать технику разбиения на страницы, разделяя позиции ур на группы, и каждая группа имеет только три элемента. допустим, у вас есть 30 предметов, поэтому разделите их на 10 групп, и каждая группа имеет такой ключ, как номер страницы, поэтому, когда он открывается в первый раз, вы увидите страницу 1, которая содержит 3 элемента, и прокручивая и используя бесконечный свиток страница 2 и т. д.

это как разделить элементы

 int pageNumbers = (int) Math.ceil(items.size() / 3.0);
            for (int i = 1; i <= pageNumbers; i++) {
                if (i == 1)
                    firstIndex = 0;
                else
                    firstIndex += 3;
                lastIndex=firstIndex+3;
                ArrayList<String> itemsPerPage=new ArrayList<>();

                for (int j = firstIndex; j < lastIndex; j++)
                {
                 itemsPerPage.add(items.get(j));   
                }
                    pages.put(i, items);
            }

теперь у вас есть HashMap с элементами на странице и путем внедрения onSrollListener с recyclerView вы можете обновить страницу и получить : page = 2, который содержит 3 элемента и отображает новые 3 элемента с ресайклером

1
задан Aradh S 19 January 2019 в 00:13
поделиться

2 ответа

Чтобы убедиться, что скрипт продолжает работать, даже если есть ошибка, используйте блок try / except.

В блоке except, чтобы, как указано в вашем запросе, гарантировать, что код проверяет ошибку, снова и снова, вы будете использовать 'recursion функции', чтобы снова запустить функцию изнутри функции:

def periodic_task():
    log.msg("periodic task running")
    try:
       x = 10 / 0 # include 'API calls' here
    except: # include 'exception type'
       periodic_task()

Хотя, есть много подводных камней с функцией рекурсии , так что будьте осторожны!

0
ответ дан Darcy Price 19 January 2019 в 00:13
поделиться

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

def periodic_task():
    log.msg("periodic task running")
    try:
        x = 10 / 0
    except Exception as error:
        # Here you should at least log the error, exceptions do not should pass silently.
        pass
0
ответ дан Raydel Miranda 19 January 2019 в 00:13
поделиться
Другие вопросы по тегам:

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