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
<charleshi...@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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to