[Python-Dev] Bare except clauses in PEP 348 (original) (raw)
James Y Knight foom at fuhm.net
Wed Aug 24 17:23:52 CEST 2005
- Previous message: [Python-Dev] Bare except clauses in PEP 348
- Next message: [Python-Dev] Bare except clauses in PEP 348
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Aug 24, 2005, at 11:10 AM, Guido van Rossum wrote:
On 8/24/05, Michael Chermside <mcherm at mcherm.com> wrote:
Explicit is better than Implicit. I think that in newly written code "except Exception:" is better (more explicit and easier to understand) than "except:" Legacy code that uses "except:" can remain unchanged IF the meaning of "except:" is unchanged... but I think we all agree that this is unwise because the existing meaning is a tempting trap for the unwary. So I don't see any advantage to keeping bare "except:" in the long run. What we do to ease the transition is a different question, but one more easily resolved.
OK, I'm convinced. Let's drop bare except for Python 3.0, and deprecate them until then, without changing the meaning. The deprecation message (to be generated by the compiler!) should steer people in the direction of specifying one particular exception (e.g. KeyError etc.) rather than Exception.
I agree but there's the minor nit of non-Exception exceptions.
I think it must be the case that raising an object which does not
derive from an exception class must be deprecated as well in order
for "except:" to be deprecated. Otherwise, there is nothing you can
change "except:" to in order not to get a deprecation warning and
still have your code be correct in the face of documented features of
python.
James
- Previous message: [Python-Dev] Bare except clauses in PEP 348
- Next message: [Python-Dev] Bare except clauses in PEP 348
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]