19、Python异常处理与模块管理全解析

Python异常处理与模块管理全解析

1. 自定义异常与多重继承

在Python中,自定义异常是一种有效的编程实践。一种特别有效的自定义异常方法是使用多重继承,即让异常类同时继承模块的特殊自定义异常类和标准异常类。以下是示例代码:

def call_wrapped(callable, *args, **kwds):
    try:
        return callable(*args, **kwds)
    except: 
        raise CustomException('Wrapped function '
                              'propagated exception')

class CustomAttributeError(CustomException, AttributeError):
    """An AttributeError which is ALSO a CustomException."""

当代码抛出 CustomAttributeError 实例时,该异常既可以被设计用于捕获所有 AttributeError 情况的代码捕获,也可以被专门捕获模块抛出的所有异常的代码捕获。

在决定是抛出特定的标准异常(如 AttributeError )还是模块中定义的自定义异常类时,可以考虑这种多重继承方法,它能让你兼得两者的优点。同时,务必清晰地记录模块的这一特性,因为该技术使用并不广泛,若不明确说明,模块用户可能

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值