我想编写一些只由特定python类引发的自定义异常,但可能有两种方法可以做到这一点。我可以把它作为模块本身的一部分:
class FooException(Exception):
pass
class FooClass():
def something():
# code
raise FooException("something went wrong")
或者,我可以把它嵌套在类中:
^{pr2}$我个人更喜欢第二种,因为在异常和它相关的类之间建立显式的连接似乎更简洁,但也有一些缺点。例如,如果子类FooClass:
^{3}$现在可以参考FooClass.FooException异常作为BarClass.BarException酒吧也。在
有Python的最佳实践吗?我四处看了一下,但没能找到。在
在模块(全局)级别保留异常。将它们嵌套在类中只会让任何想要使用您的类的人做更多的工作:
那是无的放矢。在
相关问题 更多 >
编程相关推荐