【发布时间】:2022-01-15 12:14:55
【问题描述】:
我的问题是两者的区别在哪里
try:
print("Hello")
except:
print("Something went wrong")
else:
print("Nothing went wrong")
和
try:
print("Hello")
print("Nothing went wrong")
except:
print("Something went wrong")
谎言。结果似乎与我相同。使用 else 语句的用例有哪些?
同样,我为什么要使用finally 语句?
try:
print(x) #Not defined before
except:
print("Something went wrong")
finally:
print("The 'try except' is finished")
和
try:
print(x) #Not defined before
except:
print("Something went wrong")
print("The 'try except' is finished")
看起来还是一样的。
编辑: 我知道,'else' 和 'finally' 做什么。我只是不知道何时使用它们,因为如果没有这些语句,您似乎可以达到等效的结果。
【问题讨论】:
-
使用没有引发错误的示例是毫无意义的。假设 every print could 会引发错误,那么它们会做完全不同的事情。如果您将某些
prints 替换为raise,这应该很明显。 -
finally 总是运行,即使期望停止执行,finally 块也会运行。所以它总是运行,无论成功还是失败。
-
嗯,我知道,'else' 和 'finally' 的作用。当我使用它时对我来说没有意义,因为我可以在“try”部分中编写“else”语句的代码并获得相同的结果。与“终于”相同。把它放在外面,在 try-except 语句之后写代码,它也总是被执行。
标签: python try-except