Skip to content

KeyError exception raised when Trio task is cancelled #260

Open

Description

@seidnerj

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions