📣 GraphQLConf 2025 • Sept 08-10 • Amsterdam • Early bird tickets available & sponsorship opportunities open • Learn more
GraphQL.JS Tutorial
graphql/error

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?: any[],
    stack?: string,
    source?: Source,
    positions?: 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: 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: 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.