GraphQL LogoGraphQL

graphql/error

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'; // ES6
var { GraphQLError } = require('graphql'); // CommonJS

Overview#

Errors#

GraphQLError#

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.

syntaxError#

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.

locatedError#

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.

formatError#

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.

Continue Reading →graphql/execution