[issue29757] The loop in utility `socket.create_connection()` swallows previous errors
Yury Selivanov
report at bugs.python.org
Thu Mar 9 12:28:08 EST 2017
Yury Selivanov added the comment:
> Case (c) sidesteps the above questions.
I like the (c) option. I don't think we should use logging/warnings here, as they can produce unwanted noise that few know how to silence.
When the list of errors is passed as a second argument to the exception, how is it rendered? Would it make sense to concatenate all error messages:
if errs:
errors_msg = ' \n'.join(str(e) for e in errs)
raise error(f"connection failed:\n{errors_msg}", errs)
Or maybe we should track which addr caused which exception?
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
af, socktype, proto, canonname, sa = res
try:
...
except error as e:
errs.append((canonname, e))
...
if errs:
error_msg = ' \n'.join(f'{addr}: {e}' for addr, e in errs)
raise error('connection failed:\n{error_msg}', errs)
----------
nosy: +yselivanov
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29757>
_______________________________________
More information about the Python-bugs-list
mailing list