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()


版权声明:著作权归作者所有。

相关推荐

Python安全创建目录的方法

在介绍Python安全创建目录之前,先举一个不安全创建目录的方式:if not os.path.exists(directory):     os.makedirs(directory) 在例子里,先判断目录是否存在,然后创建目录。这种方式是不安全的,它会导致竞争条件。在os.path.exists()和os.makedirs()之间的时

Python合并多个字典的方法

示例x = {'a': 1, 'b': 2} y = {'b': 3, 'c': 4} 相同属性合并,后者覆盖前者的值。x和y合并后>>> z {'a': 1, 'b': 3, 'c': 4} Python 3.

Python校验处理用户输入的方法

Python处理用户输入需要考虑几个问题:用户输入的数据是否合法用户输入非法数据是否会抛出异常用户输入非法数据后,给出友好提示并等待继续输入在Python里比较简单的做法是使用一直循环,如果用户输入错误数据,执行continue继续等待用户输入,如果用户输入正确数据,执行break跳出循环。用户输入可能会抛出异常这里需要使用try-catch来捕获用户输入非法数据导致的异常。python