Firstly to clarify the terminology, this is bare except statement:
try: ... except: ...
And this is a non-bare except statement, but bear in mind the type of the exception that is caught can be anything:
try: ... except Exception: ...
The point is that both fragments are a catch-all exception handler, only the second is slightly more better/restrictive since it won't catch a
SystemExit exception for example (which you rarely want to catch). This is obviously discussed before and even made it to a (rejected) PEP.
So I'm tempted to say that the stdlib should not use bare except statements. If you need to catch more then
Exception they can always catch
BaseException. However grepping the stdlib reveals 384 cases of bare except statements, to be fair many of these are in test cases but still.
The one that hurt me today was in
socketserver.BaseServer.handle_request, now I have to re-write the
.handle_error() function to call
sys.exc_info() and check that it's a subclass of
Exception before handling the error normally. That's not nice.