escribió:
I am trying to dig through User-defined Exceptions. chapter 8.5 inNot necesarily, but you should call the base __init__, perhaps with a
http://docs.python.org/tut/node10.html
I would like to know, if is it OK to add following line to the __init__
method of the TransitionError class?
self.args = (self.previous, self.next, self.message)
suitable message.
Most of the time, a meaningful error message is all what I want, so I
write:
class FooError(Exception): pass
(perhaps inheriting from ValueError or TypeError or any other more
meaningful base error).
Then, when something wrong is detected:
if ....:
raise FooError, "some %s message" % foo
In your case, you appear to require more info stored in the exception. Try
this (based on your code):
class TransitionError(Error): # I assume Error inherits from Exception?
def __init__(self, previous, next, message):
self.previous = previous
self.next = next
Error.__init__(self, previous, next, message)
# perhaps: Error.__init__(self, message)
# if message already contain references to
# previous and next
raise TransitionError, (1, 2, "oops")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
__main__.TransitionError: (1, 2, 'oops')
--
Gabriel Genellina