title: Core. A2 A Error

A2A Node SDK - v0.1.0 / Modules / Core / A2AError

Class: A2AError

Core.A2AError

Standard error class for A2A SDK

This is the base error class for all errors in the A2A SDK. It includes an error code and optional data payload for additional context. The implementation matches the Python SDK for cross-language compatibility.

Example

// Create a basic error
const error = new A2AError('Something went wrong', -32000);
 
// Create an error with additional context data
const errorWithData = new A2AError(
  'Failed to process task', 
  -32014, 
  { taskId: '123', reason: 'Invalid input' }
);
 
// Error can be serialized to JSON
console.log(JSON.stringify(error));
// {"code":-32000,"message":"Something went wrong"}

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new A2AError(message, code, data?): A2AError

Creates a new A2A error

Parameters

NameTypeDescription
messagestringError message describing what went wrong
codenumberNumeric error code (typically negative, see ERROR_CODES)
data?Record<string, unknown>Optional additional context data for the error

Returns

A2AError

Overrides

Error.constructor

Properties

code

Readonly code: number

Numeric error code (typically negative, see ERROR_CODES)


data

Optional Readonly data: Record<string, unknown>

Optional additional context data for the error


message

message: string

Inherited from

Error.message


name

name: string

Inherited from

Error.name


stack

Optional stack: string

Inherited from

Error.stack


stackTraceLimit

Static stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace

captureStackTrace(targetObject, constructorOpt?): void

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
  b();
}
 
function b() {
  c();
}
 
function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;
 
  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}
 
a();

Parameters

NameType
targetObjectobject
constructorOpt?Function

Returns

void

Inherited from

Error.captureStackTrace


prepareStackTrace

prepareStackTrace(err, stackTraces): any

Parameters

NameType
errError
stackTracesCallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace


toJSON

toJSON(): Object

Converts the error to a JSON-serializable object

Returns

Object

JSON representation of the error

NameType
codenumber
data?Record<string, unknown>
messagestring