try和except之后的代码会被执行吗?

2024-05-29 02:53:52 发布

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

比如说这样的代码

try:
    objectToBeUsed = func1()
except:
    objectToBeUsed = false

nextValue = func2(objectToBeUsed)

不管异常是否被捕获,最后一行是否会被执行?我需要在这里使用finally吗?你知道吗


Tags: 代码falsetryexceptfunc2func1finallynextvalue
2条回答

finally通常用于执行清理代码,无论是否引发异常。如果我理解正确,调用func2()是正常程序流的一部分,不被认为是清理。所以在这种情况下不应该使用finally。你知道吗

阅读更多关于python异常处理的信息:https://docs.python.org/2/tutorial/errors.html

是的,它将被执行。你知道吗

然而,这可能正是为什么使用一个没有特定异常类的裸except是个坏主意。在出现任何异常的情况下,你都很难保持愉快的状态。例如,键盘中断可能是个例外。你知道吗

捕捉特定的异常,这些异常指示实际需要设置objectToBeUsed = False的情况,如果无法处理其他异常,则让它们传播。你知道吗

相关问题 更多 >

    热门问题