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
-
Error
↳
A2AError
Table of contents
Constructors
Properties
Methods
Constructors
constructor
• new A2AError(message
, code
, data?
): A2AError
Creates a new A2A error
Parameters
Name | Type | Description |
---|---|---|
message | string | Error message describing what went wrong |
code | number | Numeric error code (typically negative, see ERROR_CODES) |
data? | Record <string , unknown > | Optional additional context data for the error |
Returns
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
Name | Type |
---|---|
targetObject | object |
constructorOpt? | Function |
Returns
void
Inherited from
Error.captureStackTrace
prepareStackTrace
▸ prepareStackTrace(err
, stackTraces
): any
Parameters
Name | Type |
---|---|
err | Error |
stackTraces | CallSite [] |
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
Name | Type |
---|---|
code | number |
data? | Record <string , unknown > |
message | string |