我的 try 块中的代码有问题。
为了简单起见,这是我的代码:
try:
code a
code b #if b fails, it should ignore, and go to c.
code c #if c fails, go to d
code d
except:
pass
这样的事情可能吗?
你必须做这个separate try
blocks:
try:
code a
except ExplicitException:
pass
try:
code b
except ExplicitException:
try:
code c
except ExplicitException:
try:
code d
except ExplicitException:
pass
这假设你想运行code c
only if code b
failed.
如果你需要运行code c
不管,你需要把try
一个接一个地阻塞:
try:
code a
except ExplicitException:
pass
try:
code b
except ExplicitException:
pass
try:
code c
except ExplicitException:
pass
try:
code d
except ExplicitException:
pass
我在用着except ExplicitException
在这里,因为它是never盲目忽略所有异常是一个好习惯。你会忽略MemoryError
, KeyboardInterrupt
and SystemExit
以及其他情况,如果没有某种重新加注或有意识的理由来处理这些情况,您通常不想忽略或拦截。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)