2024-05-29 02:53:52 发布
网友
比如说这样的代码
try: objectToBeUsed = func1() except: objectToBeUsed = false nextValue = func2(objectToBeUsed)
不管异常是否被捕获,最后一行是否会被执行?我需要在这里使用finally吗?你知道吗
finally
finally通常用于执行清理代码,无论是否引发异常。如果我理解正确,调用func2()是正常程序流的一部分,不被认为是清理。所以在这种情况下不应该使用finally。你知道吗
func2()
阅读更多关于python异常处理的信息:https://docs.python.org/2/tutorial/errors.html
是的,它将被执行。你知道吗
然而,这可能正是为什么使用一个没有特定异常类的裸except是个坏主意。在出现任何异常的情况下,你都很难保持愉快的状态。例如,键盘中断可能是个例外。你知道吗
except
捕捉特定的异常,这些异常指示实际需要设置objectToBeUsed = False的情况,如果无法处理其他异常,则让它们传播。你知道吗
objectToBeUsed = False
finally
通常用于执行清理代码,无论是否引发异常。如果我理解正确,调用func2()
是正常程序流的一部分,不被认为是清理。所以在这种情况下不应该使用finally
。你知道吗阅读更多关于python异常处理的信息:https://docs.python.org/2/tutorial/errors.html
是的,它将被执行。你知道吗
然而,这可能正是为什么使用一个没有特定异常类的裸
except
是个坏主意。在出现任何异常的情况下,你都很难保持愉快的状态。例如,键盘中断可能是个例外。你知道吗捕捉特定的异常,这些异常指示实际需要设置
objectToBeUsed = False
的情况,如果无法处理其他异常,则让它们传播。你知道吗相关问题 更多 >
编程相关推荐