最佳实践放置自定义Python异常的地方,这些异常只由特定的类引发

2024-09-26 18:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想编写一些只由特定python类引发的自定义异常,但可能有两种方法可以做到这一点。我可以把它作为模块本身的一部分:

class FooException(Exception):
    pass

class FooClass():
    def something():
        # code
        raise FooException("something went wrong")

或者,我可以把它嵌套在类中:

^{pr2}$

我个人更喜欢第二种,因为在异常和它相关的类之间建立显式的连接似乎更简洁,但也有一些缺点。例如,如果子类FooClass:

^{3}$

现在可以参考FooClass.FooException异常作为BarClass.BarException酒吧也。在

有Python的最佳实践吗?我四处看了一下,但没能找到。在


Tags: 模块方法defexceptioncodepasssomethingclass

热门问题