我知道这是一个奇怪的问题,可能没有答案。 在捕获异常并执行 except block 后,我正在尝试执行 try block 的其余部分。
例子:
[...]
try:
do.this()
do.that()
[...]
except:
foo.bar()
[...]
do.this()
引发由 foo.bar()
管理的异常,然后我想执行 do.that() 中的代码
。我知道没有 GOTO 语句,但可能是某种 hack 或解决方法!
谢谢!
最佳答案
try...except...
block 捕获一个 异常。这就是它的用途。它在 try 中执行代码,如果引发异常,则在 except 中处理它。您不能在 try 中引发多个异常。
这是故意的:构建的要点是您需要显式来处理发生的异常。返回到 try
的末尾违反了这一点,因为 except
语句处理了不止一件事。
你应该这样做:
try:
do.this()
except FailError:
clean.up()
try:
do.that()
except FailError:
clean.up()
这样您提出的任何异常都会得到显式处理。
关于python - 在 except block 之后执行(部分)try block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4225921/