How do I abort object instance creation in Python?

Viewed 17263

I want to set up a class that will abort during instance creation based on the value of the the argument passed to the class. I've tried a few things, one of them being raising an error in the __new__ method:

class a():
    def __new__(cls, x):
        if x == True:
            return cls
        else:
            raise ValueError

This is what I was hoping would happen:

>>obj1 = a(True)
>>obj2 = a(False)
ValueError Traceback (most recent call last)

obj1 exists but obj2 doesn't.

Any ideas?

2 Answers
Related