Handling exceptions with Py2 and Py3
Ben Finney
ben+python at benfinney.id.au
Fri May 27 10:04:10 EDT 2016
Random832 <random832 at fastmail.com> writes:
> On Fri, May 27, 2016, at 09:18, Ben Finney wrote:
> > try:
> > short_routine()
> > except ConnectionRefusedError as exc:
> > handle_connection_refused(exc)
> > except OSError as exc:
> > if exc.errno == errno.ECONNREFUSED:
> > handle_connection_refused(exc)
>
> But ConnectionRefusedError inherits from OSError and has errno =
> ECONNREFUSED. So you can simply only have the second except block here,
> and ignore the fact that Python 3 has a class hierarchy of error types.
That's right. I wrote the above to isolate the older clumsy way, and
make it easier to remove.
Every Python 2-and-3 code base should aspire to one day discard the
Python 2 legacy cruft :-)
--
\ “For a sentimentalist is simply one who desires to have the |
`\ luxury of an emotion without paying for it.” —Oscar Wilde, _De |
_o__) Profundis_, 1897 |
Ben Finney
More information about the Python-list
mailing list