can a class intantiate itself to None?
David Allen
mda at idatar.com
Sat Mar 17 13:38:56 EST 2001
In article <mailman.984770427.21248.python-list at python.org>, "Timothy Grant"
<tjg at exceptionalminds.com> wrote:
> I'd like to create a class that can instantiate itself to None when
> instantiation fails...
>
> class foo:
> def __init__(self, bar):
> if type(bar) == StringType:
> self.data = 'This is a String'
>
>
> x = foo('a')
>
> y = foo(1) # In this instance I would like y to be None
>
> So, can it be done, or do I need to raise an exception, catch it and then
> set y to None?
Raise an exception and set y to None.
You have the option of setting all class data to
None if something doesn't happen that you want to
happen, but there isn't a way that you can actually
return None from a constructor as far as I know of.
Besides, that would be confusing as hell, and that's
partially what exceptions are for, so use 'em.
--
David Allen
http://opop.nols.com/
----------------------------------------
Be wary of strong drink. It can make you shoot at tax collectors and
miss
- Lazarus Long, "Time Enough for Love"
More information about the Python-list
mailing list