How do I abort object instance creation in Python?
When you override __new__, dont forget to call to super! >>> class Test(object): … def __new__(cls, x): … if x: … return super(Test, cls).__new__(cls) … else: … raise ValueError … >>> obj1 = Test(True) >>> obj2 = Test(False) Traceback (most recent call last): File “<stdin>”, line 1, in <module> File “<stdin>”, line 6, in __new__ … Read more