-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.9.1
-
None
The event loop for QtAsyncio does not call its exception handler with the signature given in Python's documentation for asyncio, but it should. This will lead to a user setting the exception handler to the wrong signature and result in missing argument TypeError at the exception handler call, after an exception occurs in an async task:
https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.set_exception_handler
> handler must be a callable with the signature matching (loop, context), where loop is a reference to the active event loop, and context is a dict object containing the details of the exception
Observe how it's called in Cpython's BaseEventLoop implementation:
self._exception_handler(self, context)
Observe how it's called in QtAsyncioEventLoop:
self._exception_handler(context)