exception problem

Charles Hixson charleshixsn at earthlink.net
Mon Jun 25 07:27:40 CEST 2012

On 06/24/2012 03:43 PM, Charles Hixson wrote:
> On 06/24/2012 03:36 PM, Chris Angelico wrote:
>> On Mon, Jun 25, 2012 at 8:26 AM, Charles Hixson
>> <charleshixsn at earthlink.net>  wrote:
>>> The code:
>>>                 finally:
>>>                     print ("at finally")
>>>                 print ("chunks =")
>>> produces this result:
>>> path  3...
>> Can you state more clearly the problem, please? I'm seeing output that
>> can't have come from the code posted (for instance, immediately after
>> the "at finally", I'm expecting to see the "chunks =" line), and I'm
>> not seeing any exception information, so I can't even hazard a guess
>> as to what's throwing the exception.
>> Presumably these are two methods in the same class, since you're
>> calling it as "self.chunkLine", but beyond that, it's hard to know.
>> Take off the try/except and let your exception go to console, that's
>> usually the easiest thing to deal with.
>> Chris Angelico
> Sorry, but it *DID* come from the code posted.  Which is why I was so 
> confused.  I finally tracked it down to "self was not defined" by 
> altering the except section to read:
>                 except BaseException as ex:
>                     print    ("caught exception")
>                     print (ex)
>                 finally:
>                     print ("at finally")
The documentation section covering the except statement could stand to 
be a *LOT* clearer.   I read the sections on the except statement and 
exception handlers several times and couldn't figure out was the "as" 
argument of the except statement was for.  "Target" doesn't communicate 
much to me.  The one I finally used as indicated above was modified from 
some code that I found through Google.  I still don't really know what 
"as" means, except that if you use it, and you print out the "target", 
you'll get some kind of informative message.  (The one that I got said 
"self was not defined" .. that's a paraphrase.  I can't remember the 
precise wording.)  And that interpretation is based on what the result 
was, not on anything said in the documentation.

IIRC, the Python2 documentation used code examples to indicate what was 
the right way to write an exception handler.  I realize that Python3 is 
much different, but that approach was a very good one.

Charles Hixson

More information about the Python-list mailing list