Лучшее решение для попытки / кроме заявления - PullRequest
0 голосов
/ 08 апреля 2019

Мне интересно, будет ли это определение оператора 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")

...