如何优雅的写try...except....嵌套

我在工作中因为经常需要正则解析大量结构不一的文本,所有异常捕获用的非常频繁,甚至需要深层嵌套才能完成最终提取,所以写出的异常捕获代码异常难看,大概类似于这种吧。。。。
如何优雅的写try...except....嵌套_第1张图片

因为深受其害,后来百般寻找解决办法,还真让我找到了可行方案。总体思想就是将所有可能性通过循环的方式捕获异常,测试例子大概是这样:

def a():
    print(name_a)


def b():
    # print(name_b)
    aaa = 123
    return aaa


def c():
    print(name_c)


list1 = [a, b, c]
aaa = ''
# 循环所有可能性
for x in list1:
    try:
        aaa = x()
    except Exception as f:
        print(f)
        continue
    # 如果遇到执行成功的情况,则跳出循环
    else:
        break
# 如果循环全部还是没有遇到成功的情况,则执行
else:
    print(name2)
print(aaa)

你可能感兴趣的:(经验记录,python)