"TypeError: 'NoneType' object is not callable" when raising an Exception with FastAPI + GraphQL [duplicate]

I'm trying to use GraphQL with FastAPI, and I'm getting a strange Exception when raising an Exception.

class CreateCourse(Mutation):
    course = Field(CourseType)

    class Arguments:
        id = String(required=True)
        title = String(required=True)
        instructor = String(required=True)

    def mutate(self, info, id, title, instructor):
        with open("./courses.json", "r+") as courses:
            course_list = json.load(courses)
            
            for course in course_list:
                if course['id'] == id:
                    raise Exception('Course with provided id already exists!')

            course_list.append({"id": id, "title": title, "instructor": instructor})
            courses.seek(0)
            json.dump(course_list, courses, indent=2)
        return CreateCourse(course=course_list[-1])

Without raise Exception(''), all works fine, but with raise Exception, I'm getting "TypeError: 'NoneType' object is not callable"

Traceback (most recent call last):
  File "c:\desktop\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 384, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "c:\desktop\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "c:\desktop\lib\site-packages\fastapi\applications.py", line 181, in __call__
    await super().__call__(scope, receive, send)
  File "c:\desktop\lib\site-packages\starlette\applications.py", line 102, in __call__
    await self.middleware_stack(scope, receive, send)
  File "c:\desktop\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__
    raise exc from None
  File "c:\desktop\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "c:\desktop\lib\site-packages\starlette\middleware\cors.py", line 78, in __call__
    await self.app(scope, receive, send)
  File "c:\desktop\lib\site-packages\starlette\exceptions.py", line 82, in __call__
    raise exc from None
  File "c:\desktop\lib\site-packages\starlette\exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "c:\desktop\lib\site-packages\starlette\routing.py", line 550, in __call__
    await route.handle(scope, receive, send)
  File "c:\desktop\lib\site-packages\starlette\routing.py", line 227, in handle
    await self.app(scope, receive, send)
  File "c:\desktop\lib\site-packages\starlette\routing.py", line 41, in app
    response = await func(request)
  File "c:\desktop\lib\site-packages\fastapi\routing.py", line 197, in app
    dependant=dependant, values=values, is_coroutine=is_coroutine
  File "c:\desktop\lib\site-packages\fastapi\routing.py", line 147, in run_endpoint_function
    return await dependant.call(**values)
  File ".\main.py", line 88, in graphql
    return await graphql_app.handle_graphql(request=request)
  File "c:\desktop\lib\site-packages\starlette\graphql.py", line 107, in handle_graphql
    if result.errors
  File "c:\desktop\lib\site-packages\starlette\graphql.py", line 106, in <listcomp>
    [format_graphql_error(err) for err in result.errors]
TypeError: 'NoneType' object is not callable


from Recent Questions - Stack Overflow https://ift.tt/3m7ddWH
https://ift.tt/eA8V8J

Comments

Popular posts from this blog

Spring Elasticsearch Operations

Object oriented programming concepts (OOPs)

Network Error and Timeout on Authorize.net JS