发布于 4年前

Python使用for/else实现多层嵌套try-except语句处理异常的优雅方法

多层嵌套try-except语句处理异常示例:

try:
    method_a()
except ProcessError:
    try:
        method_b()
    except ProcessError:
        try:
            method_c()
        except ProcessError:
ignore()

如果处理的方法很多,就会导致要写一个很深层的嵌套语句,显然这是一个很不优雅的实现方法。

使用for/else语句可以很优雅的解决上面嵌套的问题。

for proc in [method_a, method_b, _c]:
    try:
        proc()
    except ProcessError:
        continue
    else:
        break
else:
    ignore()
©2020 edoou.com   京ICP备16001874号-3