[Python-Dev] What exception should Thread.start() raise?
bjourne at gmail.com
Mon Jun 4 21:32:14 CEST 2007
The threading module contains buggy code:
assert self.__initialized, "Thread.__init__() not called"
assert not self.__started, "thread already started"
If you run such code with python -O, weird stuff may happen when you
call mythread.start() multiple times. -O removes assert statements so
the code won't fail with an AssertionError which would be expected.
So what real exception should Thread.start() raise? I have suggested
adding an IllegalStateError modelled after java's
IllegalStateException, but that idea was rejected. So what exception
should be raised here, is it a RuntimeError?
More information about the Python-Dev