[Skip Montanaro] > ... > Attached are the notes I took while picking through the source. If everyone would do the sensible thing and upgrade to Outlook, they'd have no trouble reading your notes <wink>. doctest.py: I Trust Tim (tm) Me too. The first bare except is exec'ing arbitrary user-supplied code, and needs to catch everything. The second needs to ignore any exception that may be raised by a user-define __str__, and that's any exception whatsoever, so ditto. threading.py: I Trust Tim. The first needs to catch any exception that may leak out of the user's thread code, so can't be limited. The second is lazy: try: self.__delete() except: pass but can't be made stronger without guessing at all the exceptions self.__delete() may raise. You should shame Guido into catching the exceptions he thinks are "normal" in the body of self.__delete, and stop catching any at its call site. The answers aren't obvious to me, but I'm afraid this is one of those contexts where we can get into non-obvious trouble due to module globals getting None'd out when Python is shutting down. Better a Big Hammer than bogus shutdown errors.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4