Коллеги, помогите написать красиво кусочек кода. Обработка ситуации, когда ты заказал котировки с Финама, они не пришли, и ты пробуешь ещё раз. Сейчас я кривенько (чтобы описать задачу) написал так:
try:
txt=urlopen(url, timeout=20).readlines()
except timeout:
print ("Exception!\nWait...")
sleep (20)
try:
txt=urlopen(url, timeout=20).readlines()
except timeout:
print ("Exception!\nWait...")
sleep (20)
try:
txt=urlopen(url, timeout=20).readlines()
except timeout:
print ("Котировки с Финама не пришли")
Как это написать красиво внутри цикла?
10 попыток. Если 10-я неудачная, выводим сообщение
print ("Котировки с Финама не пришли")
try:
txt = urlopen(url, timeout=timeout).readlines()
except TimeoutError:
print(f«Retry {tries + 1} for {url}»)
if tries + 1 <= max_tries:
txt = get_data(url, timeout, tries + 1, max_tries)
else:
raise TimeoutError
return txt
не нужно одновременно и false и NULL использовать.
Можно просто done = NULL
исправить while
и убрать
if (data != NULL) {
done = TRUE