📜  何时使用 finally python (1)

📅  最后修改于: 2023-12-03 14:49:33.931000             🧑  作者: Mango

使用 finally 子句

在 Python 中,finally 是一个可选的子句,它可以用来指定无论是否出现异常,都必须执行的一些代码。通常,finally 语句块用于清理资源,例如关闭打开的文件、网络连接等。以下是一些示例代码片段,它们演示了如何使用 finally 子句。

示例代码
示例 1
try:
    # 尝试执行一些代码
    print("Trying to open a file...")
    file = open("test.txt", "r")
except FileNotFoundError:
    # 如果文件不存在,抛出一个异常
    print("The file does not exist!")
except:
    # 处理其他类型的异常
    print("An error occurred!")
else:
    # 如果没有异常,执行这段代码
    print("The file has been opened successfully.")
finally:
    # 无论是否出现异常,都必须执行这段代码
    print("Closing the file...")
    file.close()

上面的示例代码尝试打开一个文件,如果文件不存在则抛出一个异常,否则打印一条打开成功的消息。

无论出现什么异常,最后都会执行 finally 子句中的代码来关闭文件。

示例 2
try:
    # 尝试执行一些代码
    print("Trying to connect to the server...")
    server = connect_to_server()
except ConnectionError:
    # 如果连接失败,抛出一个异常
    print("Failed to connect to the server!")
except:
    # 处理其他类型的异常
    print("An error occurred!")
else:
    # 如果没有异常,执行这段代码
    print("Connected to the server successfully.")
finally:
    # 无论是否出现异常,都必须执行这段代码
    print("Closing the connection...")
    disconnect_from_server(server)

上面的示例代码尝试连接到一个服务器,如果连接失败则抛出一个异常,否则打印一条连接成功的消息。

无论出现什么异常,最后都会执行 finally 子句中的代码来断开连接。

总结

如果你需要在 Python 中清理资源(比如关闭文件、网络连接等),建议使用 finally 子句来确保资源在所有情况下都得以正确关闭。