我应该为一个只能调用一次的函数引发python中的标准异常

wai*_*kuo 0 python exception

我正在为我的模块创建一个init函数,我想在用户意外调用它两次时引发Some Exception.我应该提出什么样的标准例外.

Class A(object):
    has_init = False

    @classmethod
    def initialize_class(cls):
        if has_init:
             raise Exception('xxx')
        has_init = True

A.initialize_class()
A.initialize_class() # should raise exception
Run Code Online (Sandbox Code Playgroud)

Joh*_*rth 5

您可能会引发运行时错误,但最好更改初始化程序,以便在调用两次时不会造成损坏.

这可能是您应该引发自定义异常而不是内置异常的情况.