我正在尝试在 .NET Core 中为 GraphQL 实现错误处理中间件,以捕获所有未处理的异常并以结构化和统一的方式对其进行格式化。
按照文档,我创建了一个中间件类,实现了“IFieldMiddleware”,效果很好。问题是,错误消息包含异常类型名称。请参阅下方 GraphQL 响应中的错误消息。
是否可以省略类型名称而只获取异常消息?
中间件代码
public class UnhandledExceptionMiddleware : IFieldMiddleware
{
public async Task<object> Resolve(IResolveFieldContext context, FieldMiddlewareDelegate next)
{
Object result = null;
try
{
return await next(context);
}
catch (Exception e)
{
context.Errors.Add(new UnhandledError(e.Message, e.InnerException));
return default;
}
}
}