Return in Try with Finally
def foo():
try:
return 1
finally:
return 2
k = foo()
print(k) # 1
try, except, else, finally
def divide(x, y):
try:
result = x / y
except ZeroDivisionError:
print("division by zero!")
else:
print("result is", result)
finally:
print("executing finally clause")
divide(2, 1) # Output: result is 2.0 (executing finally clause)
divide(2, 0) # Output: division by zero! (executing finally clause)
divide("2", "1") # Output: executing finally clause (Then a TypeError is raised)