exception problem

Charles Hixson charleshixsn at earthlink.net
Wed Jun 27 20:13:00 EDT 2012


On 06/25/2012 12:48 AM, Steven D'Aprano wrote:
> On Sun, 24 Jun 2012 16:16:25 -0700, Charles Hixson wrote:
>
>    
>> But what I wanted was to catch any exception.
>>      
> Be careful of what you ask for, since you might get it.
>
> "Catch any exception" is almost certainly the wrong thing to do, almost
> always. The one good reason I've seen for a bare except is to wrap the
> top level of an application in order to redirect uncaught exceptions to
> something other than the console (such as a GUI error dialog box). And
> even then, you probably don't want to catch *all* exceptions, but only
> those that inherit from Exception:
>
> try:
>      main()  # run my application
> except Exception as err:
>      display_error_dialog(err)
>      # or log to a file, or something...
>
>
>
>    
This time it was the right thing, as I suspected that *SOME* exception 
was being thrown, but had no idea what one.  The problem was I didn't 
know how to print the result when I caught the exception.  This has 
since been cleared up, but first I found it on Google, and then I was 
told about it on the list.  The documentation left me totally ... well, 
not uninformed, but confused.  As I said it turned out to be a method 
call on an uninitialized variable, as I found out once I figured out how 
to list the result of catching the exception.  Which is what I expected 
the documentation to show me how to do.

The comments on the list have been vastly helpful, even if they still 
tend to assume that I know more than I do.  (And even if some of them 
seem to be a bit ... off.  E.g., suggesting that I generate the 
exception on purpose so I can find out what it is, when I started off 
with no idea as to WHAT the problem was.)

What really annoys me is the way the documentation has worsened since 
python 2.5, but if you know what it is trying to tell you, then I guess 
you aren't bothered by undefined terms and lack of examples.  I went 
away from programming in Python for a couple of years though, and I 
guess I missed the transition, or something.

-- 
Charles Hixson




More information about the Python-list mailing list