Я использую библиотеку упорства Python, чтобы выполнить экспоненциальный откат функции. < /p>
import tenacity
def log_attempt_number(retry_state):
print(f"Retrying: {retry_state.attempt_number}...")
print(retry_state.outcome)
@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(100), after=log_attempt_number)
def throw_exception():
throw Exception("What is this exception?")
< /code>
Этот код дает мне: < /p>
Retrying: 1...
Retrying: 2...
Retrying: 3...
Retrying: 4...
Retrying: 5...
< /code>
....
Но я хочу увидеть сообщение об ошибке, а не будущий объект.
На их веб -сайте все, что я могу видеть в качестве опции, чтобы получить сообщение об ошибке, это функция result (), которое дает мне сообщение об ошибке, а затем завершается. < /p>
def log_attempt_number(retry_state):
print(f"Retrying: {retry_state.attempt_number}...")
print(retry_state.outcome.result()) #This function terminates the program
@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(100),
after=log_attempt_number)
def throw_exception():
throw Exception("What is this exception?")
< /code>
....
Retrying: 1...
What is this Exception?
worryword@WorryWord:~/Development/SOTests$
< /code>
Итак, мой вопрос: как мне получить сообщение об ошибке без завершения программы? У меня есть проблема, когда первая ошибка не обязательно является 10 -й ошибкой и т. Д.
Подробнее здесь: https://stackoverflow.com/questions/768 ... ts-in-prog
Получение сообщения об ошибке от Tarracty retry_state.outcome.result () приводит к прекращению программы ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как избежать «Изменение среды выполнения может привести к прекращению текущего сеанса»?
Anonymous » » в форуме Python - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-