The graphql/error
module is responsible for creating and formatting
GraphQL errors. You can import either from the graphql/error
module, or from the root graphql
module. For example:
import { GraphQLError } from "graphql" // ES6var { GraphQLError } = require("graphql") // CommonJS
class GraphQLErrorA representation of an error that occurred within GraphQL.
function syntaxErrorProduces a GraphQLError representing a syntax error.
function locatedErrorProduces a new GraphQLError aware of the location responsible for the error.
function formatErrorFormat an error according to the rules described by the Response Format.
class GraphQLError extends Error { constructor( message: string, nodes?: Array<any>, stack?: ?string, source?: Source, positions?: Array<number>, originalError?: ?Error, extensions?: ?{ [key: string]: mixed } )}
A representation of an error that occurred within GraphQL. Contains
information about where in the query the error occurred for debugging. Most
commonly constructed with locatedError
below.
function syntaxError( source: Source, position: number, description: string): GraphQLError;
Produces a GraphQLError representing a syntax error, containing useful descriptive information about the syntax error's position in the source.
function locatedError(error: ?Error, nodes: Array<any>): GraphQLError {
Given an arbitrary Error, presumably thrown while attempting to execute a GraphQL operation, produce a new GraphQLError aware of the location in the document responsible for the original Error.
function formatError(error: GraphQLError): GraphQLFormattedError
type GraphQLFormattedError = { message: string, locations: ?Array<GraphQLErrorLocation>};
type GraphQLErrorLocation = { line: number, column: number};
Given a GraphQLError, format it according to the rules described by the Response Format, Errors section of the GraphQL Specification.