Random832 <random...@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 -- https://mail.python.org/mailman/listinfo/python-list