Exception: GraphQL::ExecutionError
- Defined in:
 - lib/graphql/execution_error.rb
 
Overview
If a field’s resolve function returns a ExecutionError,
the error will be inserted into the response’s "errors" key
and the field will resolve to nil.
Direct Known Subclasses
AnalysisError, InvalidNameError, LoadApplicationObjectFailedError, Query::OperationNameMissingError, Query::VariableValidationError, Schema::TimeoutMiddleware::TimeoutError
Instance Attribute Summary collapse
- 
  
    
      #ast_node  ⇒ GraphQL::Language::Nodes::Field 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
The field where the error occurred.
 - 
  
    
      #extensions  ⇒ Hash 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
under the
extensionskey. - 
  
    
      #options  ⇒ Hash 
    
    
  
  
  
  
    
    
  
  
  
  deprecated
  
  
    Deprecated. 
Use
extensionsinstead ofoptions. The GraphQL spec - 
  
    
      #path  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
response which corresponds to this error.
 
Instance Method Summary collapse
- 
  
    
      #initialize(message, ast_node: nil, options: nil, extensions: nil)  ⇒ ExecutionError 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of ExecutionError.
 - 
  
    
      #to_h  ⇒ Hash 
    
    
  
  
  
  
  
  
  
  
  
    
An entry for the response’s “errors” key.
 
Constructor Details
#initialize(message, ast_node: nil, options: nil, extensions: nil) ⇒ ExecutionError
Returns a new instance of ExecutionError
      24 25 26 27 28 29  | 
    
      # File 'lib/graphql/execution_error.rb', line 24 def initialize(, ast_node: nil, options: nil, extensions: nil) @ast_node = ast_node @options = @extensions = extensions super() end  | 
  
Instance Attribute Details
#ast_node ⇒ GraphQL::Language::Nodes::Field
Returns the field where the error occurred
      8 9 10  | 
    
      # File 'lib/graphql/execution_error.rb', line 8 def ast_node @ast_node end  | 
  
#extensions ⇒ Hash
under the extensions key.
      22 23 24  | 
    
      # File 'lib/graphql/execution_error.rb', line 22 def extensions @extensions end  | 
  
#options ⇒ Hash
Use extensions instead of options. The GraphQL spec
recommends that any custom entries in an error be under the
extensions key.
      18 19 20  | 
    
      # File 'lib/graphql/execution_error.rb', line 18 def @options end  | 
  
#path ⇒ String
response which corresponds to this error.
      12 13 14  | 
    
      # File 'lib/graphql/execution_error.rb', line 12 def path @path end  | 
  
Instance Method Details
#to_h ⇒ Hash
Returns An entry for the response’s “errors” key
      32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55  | 
    
      # File 'lib/graphql/execution_error.rb', line 32 def to_h hash = { "message" => , } if ast_node hash["locations"] = [ { "line" => ast_node.line, "column" => ast_node.col, } ] end if path hash["path"] = path end if hash.merge!() end if extensions hash["extensions"] ||= {} hash["extensions"].merge!(extensions) end hash end  |