对于我的应用程序,我使用python接口来读取微控制器的寄存器。有时,读取失败并导致异常。理想情况下,我想要做的是出现异常,我想回到有异常并重做它的同一行。这意味着,基本上回到阅读注册表失败的陈述。我可以为一个单一的读取做以下几点:在Python异常中,如何重做导致异常的行
while ReadSuccess == 0:
try:
readregister();
faultReadSuccess = 1
except (KeyboardInterrupt, SystemExit):
print "Program manually stopped through Ctrl-C"
raise
except:
faultReadSuccess = 0
print "Reading failure"
time.sleep(.5)
这基本上在一个单一的读只是重复读直到它通过。但是,我有几个寄存器读取命令分散在我的程序中,这些是流读敏感读取,我不能只从代码的开始处开始,或者通过while循环或某物读取一段代码。相反,如果读取失败,我需要直接重做读取直到它通过,然后继续。
但是,我不知道如何做到这一点,没有为每个人阅读,做上面提到的代码。我试图寻找一个“跳转到”/“去”相当于上一行,但我找不到任何东西。有没有什么能让我在例外情况下重复失败的路线?
编写一个函数来执行读取循环,并调用函数。 – user2357112