只有当try块中的代码没有引发异常时,else 块中的代码才会运行。如果您有一些代码在抛出异常时不想运行,但又不希望该代码抛出的异常被捕获,这将非常有用。
例如:
try: data = {1: 'one', 2: 'two'} print(data[1]) except KeyError as e: print('key not found') else: raise ValueError() # 输出:一 # 输出:值错误
请注意,这种类型else:不能与以ifelse 子句开头的elif. 如果您有以下内容,if则需要在其下方缩进else::
try: ... except ...: ... else: if ...: ... elif ...: ... else: ...