我们如何写一个“except”语句,它什么也不包含?

2024-04-30 04:34:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个try-块,这样try-块内部引发的任何异常都不会被处理。这样我就可以写一个试块,为将来做准备。总有一天,我会写一些有意义的错误处理。但是,我还没有真正的except语句。下面这类作品,但是很难看

_ = type("", (Exception,), dict())

try:
    lizard = [1, 2, 3]
    y = z + w
    print(lizard[983])
except _:
    print("I hope this string never prints")

Tags: stringtypeexception语句this作品dict意义
2条回答

完全跳过except子句。一个try语句至少需要一个except子句一个finally子句,无论您是否捕获到异常,它都会执行。你知道吗

try:
    lizard = [1, 2, 3]
    y = z + w
    print(lizard[983])
finally:
    pass

finally子句实际上不会执行任何代码,也不会以任何方式影响代码的控制流;它只是在您离开try语句之前注入一个no op,无论是成功完成代码还是引发一个未捕获的异常。你知道吗

一旦开始添加except子句,就可以删除finally子句或将其保留在原位。你知道吗

(删除的答案捕捉并立即重新发出任何异常,这也是很好的:

try:
    ...
except Exception:
    raise

()

try:
   # do something
except:
   pass   # this will make nothing

pass关键字用于此目的。当你什么都不想做的时候,只需要写一些代码,然后再回来想想你真正想在那里做什么(或者至少我是这样使用它的)

相关问题 更多 >