What makes you think it has to do with user-defined exceptions? >>> try : ... raise Exception("hello") ... except Exception as (errno, errText) : ... print "whatever" ... Traceback (most recent call last): ValueError: need more than 1 values to unpack
An Exception is an object, not a tuple of number and text. Raise an instance of the exception, not the class: raise NetActiveError("net already running") And then catch the exception object except NetActiveError as err: print err.args On Thu, Aug 5, 2010 at 3:41 PM, Chris Hare <ch...@labr.net> wrote: > > I have a block of test code, where I am trying to raise and catch my own user > defined exception > > class NetActiveError(RuntimeError): > def __init__(self,error): > self.args = error > > def a(): > try: > fh = open("me.txt", "r") > except Exception as (errno, errText): > print errText > try: > b() > except NetActiveError as (errono, errText): > print errno, errText > > def b(): > print "def b" > raise NetActiveError,"net already running" > > > a() > > > When I run it though, I get the following error: > > chare$ python z > No such file or directory > def b > Traceback (most recent call last): > File "z", line 20, in <module> > a() > File "z", line 12, in a > except NetActiveError as (errono, errText): > ValueError: too many values to unpack > > > What am I doing wrong here? > > > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list