quart icon indicating copy to clipboard operation
quart copied to clipboard

KeyError exception raised when Trio task is cancelled

Open seidnerj opened this issue 2 years ago • 0 comments

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

seidnerj avatar Aug 13 '23 15:08 seidnerj