Мне интересно, будет ли это определение оператора try else иметь правильное поведение и есть ли более надежное решение.Это определение для чтения измерителя мощности, и, в принципе, если COM заблокирован или включен, я хочу реализовать второй блок исключения, и если ответ измерителя мощности имеет "глюк" отклика, например ошибка значения, которую я хочу реализовать в первом блоке исключения.
def get_power_meter():
try:
pm = serial.Serial(pm_com_open, 115200, timeout = 1)
pm.write(b'PW?\r')
pm_res = pm.readline().decode("utf-8")
pm.close()
return float(pm_res)
try:
pm = serial.Serial(pm_com_open, 115200, timeout = 1)
pm.write(b'PW?\r')
pm_res = pm.readline().decode("utf-8")
pm.close()
return float(pm_res)
except ValueError as e:
time.sleep(1)
print(e)
except serial.serialutil.SerialException:
message_box_ok(pm_com_open + " is locked...","Please press OK to to restart the software","Aborting...",sys.exit(0),"warning")