gpt4 book ai didi

python - Python 中 "else"语句的可选 "try"子句的预期用途是什么?

转载 作者:IT老高 更新时间:2023-10-28 12:01:57 24 4
gpt4 key购买 nike

try 语句的可选 else 子句的预期用途是什么?

最佳答案

如果执行落在 try 的底部,则执行 else block 中的语句 - 如果没有异常。老实说,我从来没有发现需要。

但是,Handling Exceptions备注:

The use of the else clause is better than adding additional code to the try clause because it avoids accidentally catching an exception that wasn’t raised by the code being protected by the try ... except statement.

所以,如果你有一个方法可以抛出一个IOError,并且你想捕获它引发的异常,但如果第一个操作成功,你还想做其他事情,而您想从该操作中捕获 IOError,您可以编写如下内容:

try:
operation_that_can_throw_ioerror()
except IOError:
handle_the_exception_somehow()
else:
# we don't want to catch the IOError if it's raised
another_operation_that_can_throw_ioerror()
finally:
something_we_always_need_to_do()

如果您只是将 another_operation_that_can_throw_ioerror() 放在 operation_that_can_throw_ioerror 之后,则 except 将捕获第二个调用的错误。如果你把它放在整个 try block 之后,它会一直运行,直到 finally 之后。 else 让你确定

  1. 只有在没有异常的情况下才会运行第二个操作,
  2. 它在 finally block 之前运行,并且
  3. 它引发的任何 IOError 都不会在这里捕获

关于python - Python 中 "else"语句的可选 "try"子句的预期用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/855759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com