Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在for循环中捕获异常并仅在循环完成后返回异常?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>嗨,我有一个函数,解析文件中的前60行,如果有完全是空白的行,它应该提醒用户。然而,这些可能发生在这60行中的任何地方,所以我希望脚本能够解析整个60行,主要是因为我需要一些行中的数据来报告错误。我们可能想知道这些错误将来会发生在哪里。我写道:</p> <pre><code>def header_data(data): dictionary = {} datalen = len(data) itrcntr = 0 try: for line in data: itrcntr += 1 if line.isspace(): raise Exception('File has badly formatted header data line(s)') else: linesplit = line.rstrip().split(":") if len(linesplit) > 1: dictionary[linesplit[0]] = linesplit[1].strip() return dictionary except Exception as e: errmsg = str(e) if itrcntr == datalen: return (dictionary, errmsg) else: pass </code></pre> <p>有了这个函数,我希望如果它看到itrcntr不等于datalen,它会传递并返回try块,然后转到下一行。但这并没有发生。相反,它从函数中断并在函数调用程序的下一行继续。如何使它继续循环,直到到达循环的末尾,然后返回字典和错误消息?或者这不能用try-catch异常处理程序来完成吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<blockquote> <p>If any exception occurred, try clause will be skipped and except clause will run.</p> </blockquote> <p>如果在Try中的任何位置引发异常,则将跳过所有其他内容。因此,如果希望循环继续,则不要使用Try-Except</p> <p>只需收集每个错误消息,然后返回</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
2 回答
我想从用户导入值,为此
1 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
10 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
5 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
5 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
6 回答
我想从第一个空lin开始解析文本文件
3 回答
我想从简历、简历中提取特定部分
5 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
6 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
1 回答
我想从网上搜集一些关于抵押贷款的数据
6 回答
我想从网站上删除电子邮件地址
5 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
7 回答
我想从网站中提取数据,然后将其显示在我的网页上
8 回答
我想从网页上提取统计数据。
6 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
9 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
1 回答
我想从课堂上打印字典里的键
2 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
3 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
9 回答