On Sat, 1 Apr 2023 at 10:05, Clint Olsen <clint.ol...@gmail.com> wrote: > > On Friday, March 31, 2023 at 3:23:24 PM UTC-7, Chris Angelico wrote: > > On Sat, 1 Apr 2023 at 09:19, Clint Olsen <xxx...@gmail.com> wrote: > > > Attempting to catch asyncio.CancelledError or asyncio.CancelledError does > > > not work. The function in question looks like: > > >>> asyncio.exceptions.CancelledError is asyncio.CancelledError > > True > > > > Does that answer the question? > > No, I couldn't catch either exception even though they are the same. >
Okay, so that deals with the part from the subject line, leaving a slightly different problem: The caught exception is not of the same type as you were expecting. First question: Can you reproduce the issue on command? If so, I would recommend trying this: except BaseException as e: print("Got an exception!", type(e)) print(id(type(e))) print(id(asyncio.CancelledError) except: print("Weird things are happening") import sys print(sys.exc_info()) print(id(sys.exc_info()[0])) print(id(asyncio.CancelledError)) Basically, I want to know whether (a) BaseException has changed, which would be a nightmare; and (b) whether asyncio.CancelledError has changed. This is the kind of bizarre behaviour that can happen if a module is reloaded, or if there are multiple versions loaded for some reason. But if that ISN'T what's happening, there'll have to be some other explanation. ChrisA -- https://mail.python.org/mailman/listinfo/python-list