错误对象被useQuery钩子接收时没有返回正确的错误名称



我从我的后端抛出一个错误,并希望有消息和名称作为该错误的属性:

const error = new Error(`no payments made by the customer`);
error.name = "nothingToRefund";
throw error;

在前端,我使用阿波罗Graphql的useQuery钩子:

const { loading, error, data } = useQuery(overpaymentEligibleOfRefund, {
skip: !customerData?.me.id,
variables: { customerId: customerData?.me.id },
fetchPolicy: "network-only"
});

当我在前端控制台日志error.name时,我只是得到默认的错误,我给错误的名字没有反映出来。

useQuery钩子返回的错误对象有以下键:[" graphqlerror ", "networkError", "message", "extraInfo"]

最后,我在graphQLErrors数组下找到了name属性:

error?.graphQLErrors[0].extensions.exception.name

最新更新