GraphQL Errors:捕获并异常处理 GraphQL 查询和字段中的错误

阅读时长 4 分钟读完

GraphQL 是现代 API 开发中广受欢迎的一种技术,它提供了一种有效的方式来查询和获取数据。然而,和任何的编程语言和框架一样,GraphQL 查询和字段中都有可能发生错误。因此,你需要学习如何捕获和处理这些错误。

异常处理

当发生错误时,GraphQL 服务器将抛出异常。这些异常可以是 GraphQL 自定义异常,也可以是 JavaScript 中的异常。在执行查询时,你可以使用 try/catch 块来捕获这些异常。例如:

这个例子中,我们使用了 graphql 函数来执行查询,并在 try 块中捕获了任何可能的异常。如果发生异常,它将被发送到 catch 块,我们在这里处理异常。

捕获字段错误

除了整个查询抛出的异常之外,字段本身也可能会抛出异常。例如,如果你正在查询一个不存在的字段或者一个无效的参数,GraphQL 可能会抛出异常。同样,在这种情况下,你也可以使用 try/catch 块来处理异常。

-- -------------------- ---- -------
----- ------ - -------------
  ---- ----- -
    ----------- -------- -------
  -
---

----- ---- - -
  ------ -- ---- -- -- -
    -- ------- -
      ----- --- ----------- -- ------------
    -
    ------ ------- ----------
  --
--

----- ----- - -
  -
    -----
  -
--

--- -
  ----- ------ - ----- --------------- ------ ------
  --------------------
- ----- ------- -
  ---------------------
-

在这个例子中,我们定义了一个查询 hello,它需要一个 name 参数。然后我们在查询中省略了 name 参数,这将导致字段抛出异常。我们使用 try/catch 块来处理此异常,并输出错误消息。

处理自定义异常

GraphQL 还允许你抛出自定义异常,这将使你的代码更加灵活。要抛出自定义异常,你可以使用 GraphQLError 函数,同时传递错误消息作为参数。例如:

-- -------------------- ---- -------
----- - ------------ - - -------------------------

----- ------ - -------------
  ---- ----- -
    ----------- -------- -------
  -
---

----- ---- - -
  ------ -- ---- -- -- -
    -- ------- -
      ----- --- ------------------ -- ------------
    -
    ------ ------- ----------
  --
--

----- ----- - -
  -
    -----
  -
--

--- -
  ----- ------ - ----- --------------- ------ ------
  --------------------
- ----- ------- -
  ---------------------
-

在这个例子中,我们抛出了一个 GraphQLError 异常,以指示缺少 name 字段。在执行查询时,我们将其捕获并处理它们。

结论

在 GraphQL 开发中,捕获和处理异常是非常重要的技能。本文介绍了如何使用 try/catch 块来捕获 GraphQL 查询和字段中的任何异常,以及如何处理自定义异常。希望本文能帮助你更好地理解 GraphQL 中的异常处理,并帮助你更好地编写代码。

参考资料

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672093b72e7021665e02e3c8

纠错
反馈