Diez B. Roggisch wrote:

I suppose that I am willing to lessen my expectations from _all_ to most.
;-) Regarding your example I could also do:

<


<snip>

There is AFAIK only one language that this can de accomplished - java, and
that's because of these checked exceptions of theirs. But checked
exceptions are considered harmful:

http://www.gcek.net/ref/books/sw/ooad/tip/#_Toc41169682

I totally agree with that - in java, I tend to throw SystemExceptions to rid
myself of endless try/catch clauses that obscure the real problem.



<snip>
Hello,

I'm afraid that the only reliable way to gather what exceptions are raised is to read docs and/or come up with test cases. This has been a bugbear of mine in Python as it's not common to find a nice :Exceptions: IOError <desc>, IllegalArgumentError <desc> type of description in the docs.

However if you want an incomplete test, you could parse the code and check for raises and retrieve the class name of the exception - however this would be patchy at best. Therefore it would sort of negate the point of doing the analysis in the first place.

Even in Java you cannot find every exception that will be thrown, only 'checked' exceptions but this is a percentage of all the exceptions (BTW why do you throw SystemException - it's a CORBA exception! OK, it's a runtime exception but why not just simply extend RuntimeException?). Also, if someone ever puts - catch (Exception e){} in their code they deserve to be kneecapped, IMHO the fault is with sloppy coding not with the supplied tools.

Unfortunately its docs and testing again, that's why we get paid (if you're doing a job) or not paid (if you're doing it for fun!). Although one language which comes closer is Eiffel which has require and ensure clauses on every method (following Meyer's Programming by contract philosophy).

Cheers,

Neil

--

Neil Benn
Senior Automation Engineer
Cenix BioScience
BioInnovations Zentrum
Tatzberg 46
D-01307
Dresden
Germany

Tel : +49 (0)351 4173 154
e-mail : [EMAIL PROTECTED]
Cenix Website : http://www.cenix-bioscience.com

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

Reply via email to