用于交换异常的Python实用工具修饰符和上下文管理器

swap-exceptions的Python项目详细描述


交换例外

PyPIPyPI - Python VersionPyPI LicenseCode Style: black

用于交换异常的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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当一个字段的名称发生变化时,java如何解析这些数据?   编写一个java getBonusPercentage()方法来返回员工的奖金加工资   java向Android活动添加容器和操作栏。   java JVM在切换网络访问点后找不到类   Java Matcher慢速正则表达式   java Android片段视图,带有垂直滚动条和左右滑动手势检测   如何在java中找到数组的所有子集?   java无法从给定源创建信封,因为根元素未命名为envelope   java JavaFX矩形旋转轴从左上角以外的点开始   java Tomcat从关系中获取临时对象   java HttpSession和ServletContext没有给出期望的结果   java EditText正在将自身复制到另一个EditText字段   Jsoup之间的区别是什么。parse()和Jsoup。java中的ParseBodyFragment()?   TableView中的java订单列   函数式编程“展开”可选或可选。在Java流(或并行流)中返回前为空   java如何下载Google Play Games服务保存的游戏快照数据,静默?