如何在F#中使用FSharp.Data.GraphQL对GraphQL服务器进行错误处理?

如何在F#中使用FSharp.Data.GraphQL对GraphQL服务器进行错误处理?,f#,graphql,F#,Graphql,我使用它来实现GraphQL服务器。文档对错误处理不是很清楚。在以下变异解析器中,如果用户为电子邮件和密码提供无效值,我希望返回错误: let login = Define.AsyncField( name = "login", typedef = Nullable Output.Token, description = "Login using email and password",

我使用它来实现GraphQL服务器。文档对错误处理不是很清楚。在以下变异解析器中,如果用户为电子邮件和密码提供无效值,我希望返回错误:

let login =
    Define.AsyncField(
        name = "login",
        typedef = Nullable Output.Token,
        description = "Login using email and password",
        args = [
            Define.Input("email", String)
            Define.Input("password", String)
        ],
        resolve =
            fun ctx _ ->
                
                // ... some more code related to db and validation

                let customErr: exn = Error.InvalidUserPassword

                // This statement has not effect
                ctx.AddError customErr

                // Should I use raise to explicitly throw exception
                // raise customErr

                Async.result None
    )
查看源代码,我发现了
ResolveFieldContext
上的
AddError
方法。但它似乎对突变的最终结果没有影响。输出始终没有任何错误:

{
    "documentId": 1234,
    "data": {
        "login": null
    },
    
    // The errors array is not available
    "errors": []
}
我是否应该
引发
异常以添加错误处理?如果是这样的话,我如何才能添加多个错误代码作为单个查询变异的一部分,因为我只能引发一个异常