gpt4 book ai didi

exception-handling - 如果发生任何异常,如何执行某事

转载 作者:太空狗 更新时间:2023-10-29 20:24:44 25 4
gpt4 key购买 nike

一个python新手问题:我需要做以下事情

try:
do-something()
except error1:
...
except error2:
...
except:
...
#Here I need to do something if any exception of the above exception was thrown.

我可以设置一个标志并执行此操作。但是有没有更简洁的方法来做到这一点?

最佳答案

实际上我不喜欢旗帜,并将其视为最后的解决方案。在这种情况下,我会考虑这样的事情:

def f():
try:
do_something()
except E1:
handle_E1()
except E2:
handle_E2()
else:
return
do_stuff_to_be_done_in_case_any_exception_occurred()

当然,如果您可以在 else: 情况下返回,这只是一个选项。

另一种选择可能是重新抛出异常并重新捕获它以进行更一般的错误处理。这甚至可能是最干净的方法:

def f():
try: # general error handling
try: # specific error handling
do_something()
except E1:
handle_E1()
raise
except E2:
handle_E2()
raise
except (E1, E2):
do_stuff_to_be_done_in_case_any_exception_occurred()

关于exception-handling - 如果发生任何异常,如何执行某事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4151561/

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