graphql/error
模块负责创建和格式化 GraphQL 错误。您可以从 graphql/error
模块或根 graphql
模块导入。例如
import { GraphQLError } from "graphql" // ES6var { GraphQLError } = require("graphql") // CommonJS
class GraphQLError extends Error { constructor( message: string, nodes?: Array<any>, stack?: ?string, source?: Source, positions?: Array<number>, originalError?: ?Error, extensions?: ?{ [key: string]: mixed } )}
表示 GraphQL 中发生的错误。包含有关错误在查询中发生位置的信息,用于调试。最常使用下面的 locatedError
构造。
function syntaxError( source: Source, position: number, description: string): GraphQLError;
生成表示语法错误的 GraphQLError,包含有关语法错误在源代码中位置的有用描述性信息。
function locatedError(error: ?Error, nodes: Array<any>): GraphQLError {
给定一个任意错误,可能是在尝试执行 GraphQL 操作时抛出的,生成一个新的 GraphQLError,它知道导致原始错误的文档中的位置。
function formatError(error: GraphQLError): GraphQLFormattedError
type GraphQLFormattedError = { message: string, locations: ?Array<GraphQLErrorLocation>};
type GraphQLErrorLocation = { line: number, column: number};
给定一个 GraphQLError,根据 GraphQL 规范的响应格式、错误部分中描述的规则对其进行格式化。