python - 调用方法上的 Python 错误处理
问题描述
如果被调用的方法抛出异常,我想继续我的循环。这是一个简单的例子,我的实际代码非常复杂,不想在所有调用的方法中都进行错误处理。
list_of_lists = [['hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]
def parse(item):
item / 1
for list in list_of_lists:
for item in list:
try:
parse(item)
except ValueError:
break
一旦遇到 parse 方法,就会引发异常。我希望有一种方法,它只是继续我的循环。(外环)
解决方案
在这种情况下,您试图将字符串除以引发 aTypeError
而不是 a的 int ValueError
,这就是您的代码引发错误的原因。如果您想捕获所有可能的错误,您可以这样做:
try:
parse(item)
except:
break
不过我不推荐它,因为在您的情况下似乎有很多复杂的函数会引发许多不同的错误,最好不要捕获所有内容,因为您可能会错过一个重要错误。我建议您只运行几次代码以找出所有可能的错误并为每个错误设置一个特定的捕获,以确保不会出现您没有预料到的无关错误
推荐阅读
- exchangewebservices - Office (JS) Outlook 加载项对 EWS 和令牌使用不同的主机名
- android - 从 NavController 获取片段
- mysql - 显示 ERROR 1045 (28000): Access denied for user 'naveen'@'localhost' (using password: NO) in ubuntu 16.04 ?
- php - What is the use of Main File in Symfony 2 Bundle?
- amazon-web-services - AWS - cannot find Lighsail instance in EC2
- sql - Why do check for UPDATE(
) return false? - android - 使用 Mockito 进行 Android 单元测试以进行外部 REST API 调用
- javascript - jQuery可在嵌套元素中排序
- r - R:收集()到具有两个列标题的整洁数据
- r - 在我的数据框中汇总 649 个位置和 11,088 个观测值中的每个水文年