برای اطمینان از اینکه کد اجرا می شود مهم نیست چه خطایی رخ می دهد، شما می توانید یک بیانیه finally را استفاده کنید. بیانیه finally در پایین یک بیانیه try/except قرار می گیرد. کد شامل finally همیشه بعد از اجرای کد در try و احتمالا در بلاک except ها اجرا می شود.
try:
print("Hello")
print(1 / 0)
except ZeroDivisionError:
print("Divided by zero")
finally:
print("This code will run no matter what")
خروجی:
>>>
Hello
Divided by zero
This code will run no matter what
>>>
کد finally حتی زمانی که یکی از Exception ها عمل نکند هم به کار خود ادامه خواهد داد.
try:
print(1)
print(10 / 0)
except ZeroDivisionError:
print(unknown_var)
finally:
print("This is executed last")
خروجی:
>>>
1
This is executed last
ZeroDivisionError: division by zero
During handling of the above exception, another exception occurred:
NameError: name 'unknown_var' is not defined
>>>