GraphQL LogoGraphQL

graphql/error

graphql/error 模块负责创建和格式化 GraphQL 错误。您可以从 graphql/error 模块或根 graphql 模块导入。例如

import { GraphQLError } from "graphql" // ES6
var { GraphQLError } = require("graphql") // CommonJS

概述#

错误#

GraphQLError#

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 构造。

syntaxError#

function syntaxError(
source: Source,
position: number,
description: string
): GraphQLError;

生成表示语法错误的 GraphQLError,包含有关语法错误在源代码中位置的有用描述性信息。

locatedError#

function locatedError(error: ?Error, nodes: Array<any>): GraphQLError {

给定一个任意错误,可能是在尝试执行 GraphQL 操作时抛出的,生成一个新的 GraphQLError,它知道导致原始错误的文档中的位置。

formatError#

function formatError(error: GraphQLError): GraphQLFormattedError
type GraphQLFormattedError = {
message: string,
locations: ?Array<GraphQLErrorLocation>
};
type GraphQLErrorLocation = {
line: number,
column: number
};

给定一个 GraphQLError,根据 GraphQL 规范的响应格式、错误部分中描述的规则对其进行格式化。

继续阅读 →graphql/execution