Errors in strawberry#
- Some Error Error
- Duplicated Type Name Error
- Invalid Argument Type Error
- Invalid Type for Union Merge Error
- Invalid Type for Union Error
- Missing arguments annotation Error
- Missing field annotation Error
- Missing return annotation Error
- Not a Strawberry Enum Error
- Object is not an Enum Error
- Object is not an Class Error
- Private Strawberry Field Error
- Scalar already registered Error
- Unresolved Field Type Error
- Unsupported Type Error
Strawberry has built-in errors for when something goes wrong with the creation and usage of the schema.
It also provides a custom exception handler for improving how errors are printed and to make it easier to find the exception source, for example the following code:
import strawberry
@strawberry.type
class Query:
@strawberry.field
def hello_world(self):
return "Hello there!"
schema = strawberry.Schema(query=Query)
will show the following exception on the command line:
error: Missing annotation for field `hello_world`
@ demo.py:7
6 | @strawberry.field
❱ 7 | def hello_world(self):
^^^^^^^^^^^ resolver missing annotation
8 | return "Hello there!"
To fix this error you can add an annotation, like so `def hello_world(...) -> str:`
Read more about this error on https://errors.strawberry.rocks/missing-return-annotation
These errors are only enabled when rich
and libcst
are installed. You can
install Strawberry with errors enabled by running:
pip install "strawberry-graphql[cli]"
If you want to disable the errors you can do so by setting the
STRAWBERRY_DISABLE_RICH_ERRORS
environment variable to 1
.