用于交换异常的Python实用工具修饰符和上下文管理器
swap-exceptions的Python项目详细描述
交换例外
用于交换异常的Python实用程序装饰器和上下文管理器。在
基本用法
作为一个装饰师:
fromswap_exceptionsimportswap_exceptions@swap_exceptions({KeyError:ValueError("Incorrect value")})defget_value(key:str):d={'a':1,'b':2}returnd[key]get_value('c')# ValueError: Incorrect value
或者作为上下文管理器:
^{pr2}$高级用法
映射键也可以是元组:
fromswap_exceptionsimportswap_exceptions@swap_exceptions({(KeyError,TypeError):ValueError("Incorrect value")})defget_value(key:str):d={'a':1,'b':2,'c':'not a number'}returnd[key]+10get_value('c')# ValueError: Incorrect value
映射值也可以是生成异常的工厂:
fromswap_exceptionsimportswap_exceptions@swap_exceptions({KeyError:lambdae:ValueError(f"Incorrect value {e.args[0]}")})defget_value(key:str):d={'a':1,'b':2}returnd[key]get_value('c')# ValueError: Incorrect value c
- 项目
标签: