Войти Создать аккаунт

Ошибки и исключения · 9 из 13

Повтор с разбором причины

Задействованы также: Функции

Программа регистратуры обращается к базе. Иногда база занята — тогда имеет смысл повторить. Иногда запрос неверен — тогда повторять бессмысленно, и надо сказать сразу.

Что сделать

Обращайтесь к базе с повторами — но только когда она занята, а не когда запрос неверен.

Что приходит

  • zapros — функция без аргументов: обращение к базе

  • popytok — сколько раз пробовать; если не передали — 3

Что вернуть

Результат удачного вызова; повтор — только при TimeoutError; попытки кончились — выбросить последнюю такую ошибку; другие ошибки не перехватывать.

Допишите функцию poluchit в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

kapriznaya дважды отвечает TimeoutError("занято"), а на третий раз — «данные». Ваша функция отдаёт "данные", вызовов было три. Если бы запрос упал с KeyError, повторять было бы бессмысленно — эта ошибка выходит наружу сразу.

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.