defining, raising and catching exceptions
Chris Hare
chare at labr.net
Thu Aug 5 19:21:27 EDT 2010
okay - but why does the response come back like
No such file or directory
def b
('n', 'e', 't', ' ', 'a', 'l', 'r', 'e', 'a', 'd', 'y', ' ', 'r', 'u', 'n', 'n', 'i', 'n', 'g')
On Aug 5, 2010, at 5:49 PM, Benjamin Kaplan wrote:
> 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 <chare at 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
More information about the Python-list
mailing list