Python finally 关键字



Python 的 finally 关键字与 tryexcept 块一起使用。无论 try 块中是否引发 错误,此块都会执行。即使没有 except 块,只要 try 块引发错误,finally 块也会执行。

如果我们不使用 try 块而使用 finally 块,则会引发 SyntaxError

语法

以下是 Python finally 关键字的语法:

finally:
   statement

示例

以下是 Python finally 关键字的基本示例:

var1 = 2
var2 = 'nine'
try:
    print(var1//var2)
except Exception as e:
    print("Error :",e)
finally:
    print("Hello, Welcome to Tutorialspoints")

输出

以下是上述代码的输出:

Error : unsupported operand type(s) for //: 'int' and 'str'
Hello, Welcome to Tutorialspoints

不使用 try 块使用 finally

我们不能在没有 try 块的情况下使用 finally 块,否则会导致 SyntaxError

示例

在下面的示例中,我们在没有 try 块的情况下定义了 finally 并引发了一个错误:

finally:
    print("It will result an SyntaxError")

输出

以下是上述代码的输出:

File "E:\pgms\Keywords\finally.py", line 44
    finally:
    ^^^^^^^
SyntaxError: invalid syntax

不使用 except 块使用 finally

finally 可以不用 except 块。即使 try 块中发生错误,finally 块也会执行。

示例

在这里,我们在 try 块中执行了关键语句,即使它引发了错误,finally 块也会执行:

try:
    print(1/0)
finally:
    print("Without Except Block")

输出

以下是上述代码的输出:

Without Except Block
Traceback (most recent call last):
  File "/home/cg/root/44145/main.py", line 2, in <module>
    print(1/0)
ZeroDivisionError: division by zero

在文件中使用 finally

我们还可以使用 try 和 finally 创建文件并以不同的模式打开它。无论文件中是否发生错误,finally 块都会执行。

示例

在这里,我们以 写入[W] 模式打开了文件,执行了一些操作,并且 finally 块被执行:

try:
   f = open("file.txt", "w")
   f.write("Welcome To The Tutorialspoints")
finally:
   print ("The file is created and appended the text.")
   f.close()

输出

以下是上述代码的输出:

The file is created and appended the text.
python_keywords.htm
广告