面试题答案
一键面试try:
file = open('example.txt', 'r')
# 在这里进行文件的读取等操作
content = file.read()
except FileNotFoundError as e:
print(f"文件未找到: {e}")
finally:
file.close()
原理解释:
- try 块:在
try
块中尝试打开文件并进行相关操作。如果在这个过程中没有异常发生,try
块中的代码会正常执行完毕。 - except 块:如果在
try
块中发生了FileNotFoundError
(这里以文件未找到为例,实际可捕获其他异常),程序会立即跳转到对应的except
块中执行代码,打印出文件未找到的错误信息。 - finally 块:无论
try
块中是否发生异常,也无论except
块是否执行,finally
块中的代码都会被执行。在这个例子中,finally
块的作用是确保文件被关闭,从而避免资源泄露。即使在try
块中因为异常而提前终止,文件依然会在finally
块中被关闭。在 Python 中,也可以使用with
语句来更简洁地处理文件资源,它会自动处理文件的关闭,原理上与try - except - finally
确保文件关闭类似,但代码更简洁优雅。