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 )还是模块中定义的自定义异常类时,可以考虑这种多重继承方法,它能让你兼得两者的优点。同时,务必清晰地记录模块的这一特性,因为该技术使用并不广泛,若不明确说明,模块用户可能
超级会员免费看
订阅专栏 解锁全文
2642

被折叠的 条评论
为什么被折叠?



