LBYL vs EAFP
Chris Angelico
rosuav at gmail.com
Mon Feb 4 19:45:18 EST 2013
On Tue, Feb 5, 2013 at 10:16 AM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> from numbers import Number
> if isinstance(x, Number):
> ...
> else:
> raise TypeError
>
>
> or Ask Forgiveness:
>
> x + 0
> ...
>
>
> where in both cases the ellipsis ... is the code I actually care about.
Caveat to my previous post: I would NOT indent the function body for
the sake of this check. I'd negate it:
if not isinstance(x, Number): raise TypeError
(hopefully with further information in the TypeError). I don't like
the code style that puts conditions, then more code, then error
handling - I prefer to fail-and-bail.
ChrisA
More information about the Python-list
mailing list