Nestjs(graphql)中不同类型的异常处理
Posted
技术标签:
【中文标题】Nestjs(graphql)中不同类型的异常处理【英文标题】:Different kinds of exception handling in nestjs (graphql) 【发布时间】:2021-04-27 01:19:07 【问题描述】:我在我的 nestjs 项目中使用 GraphQLFederationModule,现在正在处理异常处理部分。我使用 formatError 来捕获解析器中抛出的所有异常。
基本上我有4种异常来源:
-
与其他服务无关的解析器/服务逻辑错误。
来自数据库的错误,即 mongoDb(使用 nestjs/mongoose)。
使用 graphql-request 从其他 graphql 服务器调用 api 时出错。
使用 axios 从其他 RESTful api 服务器调用 api 时出错。
对于每种异常,我都需要以不同的方式处理。那么问题来了,如何从传入 formatError 的错误中判断是哪种异常呢?
谢谢。
【问题讨论】:
【参考方案1】:我找不到解决这个问题的“好”方法,所以我只是通过内容来确定它们: https://github.com/VictorCheng114668/nestjs-helper/blob/main/graphqlModule-formatError-helper/exceptionsHandler.ts
【讨论】:
以上是关于Nestjs(graphql)中不同类型的异常处理的主要内容,如果未能解决你的问题,请参考以下文章
通过 Apollo Server (NestJS) 处理异常
错误:使用 Nestjs + Graphql + Typeorm 时无法确定 GraphQL 输入类型