如何使用异常处理修改Python文件读取函数实现指定返回逻辑
你的代码存在2个核心问题
- 异常捕获的范围错误:你把
try-except写在了函数定义的外层,只会在定义函数的时候触发捕获逻辑,后续调用函数时抛出的异常根本不会被捕获 - 输出逻辑不符合需求:需求要求对应场景下返回特定整数,你的代码是打印字符串,完全不符合返回值要求
修改后的可运行代码
这里额外用with上下文管理器替代手动close()操作,即使执行过程中抛出异常也会自动关闭文件,避免资源泄露:
def load(filename: str) -> int: try: with open(filename, 'r') as reader: num = int(reader.read()) return num except FileNotFoundError: return -1 except ValueError: return 0
内容的提问来源于stack exchange,提问作者jordan parker
相关产品推荐
相关产品推荐

