小编Jes*_*ame的帖子

python Exceptions作为类属性是一件坏事吗?

我发现自己经常想要构建我的异常类,如下所示:

# legends.py
class Error(Exception): pass

class Rick(object):
    class Error(Error): pass
    class GaveYouUp(Error): pass
    class LetYouDown(Error): pass

class Michael(object):
    class Error(Error): pass
    class BlamedItOnTheSunshine(Error): pass
    class BlamedItOnTheMoonlight(Error): pass
Run Code Online (Sandbox Code Playgroud)

我只看到了Django(DoesNotExist)中使用的这种模式,它非常有意义.有什么我想念的,为什么大多数人似乎都喜欢顶级的例外?

编辑 我会将这些类用于多种粒度,例如:

import legends

try:
    do_stuff()
except legends.Michael.Error:
    blame_it_on_the_boogie()
except legends.Rick.GaveYouUp:
    let_you_down()
except legends.Error:
    pass
except Exception as e:
    raise Hell()
Run Code Online (Sandbox Code Playgroud)

python exception

7
推荐指数
1
解决办法
244
查看次数

标签 统计

exception ×1

python ×1