捕获异常仍继续执行:含错误项的TXT文件数值求和脚本
处理带错误条目TXT文件的数值求和脚本
直接把异常捕获逻辑放到逐行处理的循环内部就行,这样某一行出错时,捕获异常并提示错误信息,程序会继续处理后续行,最终输出有效数值的求和结果。
给你写个Python实现的示例:
total = 0.0 # 打开目标TXT文件,逐行读取处理 with open('numbers.txt', 'r') as file: # 用enumerate获取行号,方便定位错误位置 for line_num, line in enumerate(file, start=1): # 先去掉行内的注释和首尾空白,处理空行 cleaned_content = line.split('//')[0].strip() if not cleaned_content: continue try: # 尝试转换为浮点数并累加 num = float(cleaned_content) total += num except ValueError as err: # 捕获数值转换错误,打印提示 print(f"第{line_num}行出错: '{cleaned_content}' 不是有效数值,错误原因: {err}") # 最终输出求和结果 print(f"所有有效数值的求和结果: {total:.2f}")
关键逻辑说明
- 用
with语句操作文件,自动处理文件关闭,避免资源泄漏 - 拆分每行的注释部分,只处理有效内容,同时跳过空行
- 把
try/except放在循环里,单个行的错误不会终止整个程序 - 用行号标注错误位置,方便定位问题内容
运行这个脚本后,会输出错误行的提示,然后给出有效数值的总和(示例里就是12.30+14.30+16.30+17.89=60.79)。
内容的提问来源于stack exchange,提问作者Lincoln Simms
相关产品推荐
相关产品推荐

