quart
quart copied to clipboard
KeyError exception raised when Trio task is cancelled
When using quart-trio, with the versions specified below, if a Trio task is cancelled, a KeyError("Custom exceptions must be subclasses of Exception.") exception is raised. This is because "trio.Cancelled" class is defined as "class Cancelled(BaseException, metaclass=NoPublicConstructor)", i.e. it does not inherit from Exception, but rather from BaseException (from which Exception inherits).
This causes some strange behavior, which may or may not be related tome hang issues I'm experiencing. I assume this is a bug which is why I am submitting this.
This might also require changes in quart-trio to accommodate BaseException everywhere instead of Exception though I am not certain.
Environment:
- Python version: 3.11.4
- Quart version: 0.18.4
- Quart-trio version: 0.10.0
- Trio version: 0.22.0