我会假设只有
finally
的 pass
子句是毫无意义的。
但是在 Bottle 模板中,如果没有它,以下可选包含代码将无法工作。
结果将包含之前的所有内容以及所包含的代码本身,但之后不包含任何内容。
(参见相应问题。)
try:
include(optional_view)
except NameError:
pass
finally:
pass
finally: pass
有什么作用,什么时候有用?
pass
本身不执行任何操作,但它是一个占位符。对于finally: pass
,整个子句没有任何作用。但在 except NameError: pass
的情况下,它会拦截 NameError
异常,并丢弃它们。如果删除该子句并得到 NameError
异常,则该异常将向上传播而不是被丢弃。因此,在这种情况下, except
子句会产生影响,即使 pass
语句本身仍然只是一个占位符。