Python如何遍历函数列表 简化每个调用的try-except异常处理
实现方案
你只需要把所有待执行的函数存入列表后遍历执行,统一做异常捕获即可,写法比重复写多段try-except简洁很多:
# 把函数对象存入列表,注意不要加括号,加括号会直接执行函数 funcs = [f1, f2, f3, f4, f5] for func in funcs: try: func() except: pass
优化建议
- 不推荐使用裸
except,会误吞KeyboardInterrupt(键盘中断)、SystemExit(系统退出)这类不该被忽略的异常,建议指定要捕获的异常类型,比如捕获常规运行异常可以写成except Exception:。 - 如果函数需要传入不同的参数,可以把函数、位置参数、关键字参数组合后存入列表:
task_list = [ (f1, (), {}), (f2, (1, "test"), {}), (f3, (), {"debug": True}) ] for func, args, kwargs in task_list: try: func(*args, **kwargs) except Exception: pass
内容的提问来源于stack exchange,提问作者atul bhadauria
相关产品推荐
相关产品推荐

