我正在尝试在GraphQL和graphql-yoga
中为服务器定义标量类型。问题是我要决定在这种情况下应该扔GraphQLError
还是只扔TypeError
当前,我正在使用通用错误。
export const URIScalar = new GraphQLScalarType({
name: 'URI',
description: 'A URI whose scheme is \'http\' or \'https\'',
serialize(value) {
if (isURI(value)) {
return value;
} else {
throw new Error('URI format is invalid');
}
},
parseValue(value) {
if (isURI(value)) {
return value;
} else {
throw new Error('URI format is invalid');
}
},
parseLiteral(ast) {
if (ast.kind === 'StringValue') {
if (isURI(ast.value)) {
return ast.value;
} else {
throw new Error('URI format is invalid');
}
} else {
throw new Error('URI type must be string');
}
},
});
答案 0 :(得分:0)
一般错误是完美的,因为其中的信息是有益的。
客户端将收到预期的错误,您将可以找到错误在软件中的哪个位置。
自定义错误非常适合您需要与之关联的更多数据时使用,但是您所拥有的将可以使用。