В моем коде Python у меня есть функция с оператором try и exclude:
for x in range (int(firstSocketEntry.get()), int(lastSocketEntry.get())+1): # Test will be done according to the range of the sockets
for attempt in range (int(attemptEntry.get())):
try:
print('Attempt: ' + str(attempt+1))
print('DUT: ' + str(x))
time.sleep(1)
client = HTTPClient('http://' + ipEntry.get() + port)
response = client.send(Request('test_is_alive', x), timeout=httpTimeOutEntry.get())
# response = request("http://" + ipEntry.get() + port, "test_is_alive", x)
time.sleep(1)
print(response.text)
print(response.data.result)
answer = response.data.result
logFile.write(time.strftime("%Y_%m_%d-%H_%M_%S\t\t") + str(x) + "\t\t" + str(answer) + "\t\t" + str(readVoltage()) + "\t\t" + str(readCurrent()) + "\n")
except:
print("Something went wrong!")
executeFunctionX()
else:
if (response.data.result==False):
print("\nAttempt " + str(attempt + 1) + " failed!")
else:
break
else:
print('\nAll attempts failed!')
Если теперь что-то в операторе try пойдет не так, код продолжит работу с оператором exclude, что и является целью. Как я все еще могу получить сообщение об ошибке (т.е.:
Трассировка (последний последний вызов): Файл C:\Users\pfra\AppData\Local\Programs\P six.raise_from(e, None) File , строка 3, в файле raise_from C:\Users\pfra\AppData\Local\ Программы\P httplib_response = conn.getresponse())?
Потому что прямо сейчас я никогда не знаю, что именно пошло не так.
Любая помощь высоко ценится. Заранее большое спасибо. С Уважением