面试题答案
一键面试import os
def read_file(file_path):
try:
with open(file_path, 'r') as f:
content = f.read()
return content
except FileNotFoundError:
raise FileNotFoundError("文件不存在,请检查文件路径。")
def convert_to_int(s):
try:
return int(s)
except ValueError:
raise ValueError("无法将输入内容转换为整数,请检查输入。")
def main():
file_path = 'nonexistent_file.txt'
try:
content = read_file(file_path)
num = convert_to_int(content)
print(f"成功将文件内容转换为整数: {num}")
except FileNotFoundError as e:
print(f"错误: {e}")
except ValueError as e:
print(f"错误: {e}")
if __name__ == "__main__":
main()
在上述代码中:
read_file
函数用于读取文件内容,如果文件不存在则抛出FileNotFoundError
异常。convert_to_int
函数尝试将传入的字符串转换为整数,如果无法转换则抛出ValueError
异常。main
函数调用了这两个函数,并使用try - except
块捕获可能出现的异常,并打印用户友好的错误提示。这里利用了with
语句来自动关闭文件,保证了资源的正确清理。