我从我的后端抛出一个错误,并希望有消息和名称作为该错误的属性:
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