Skip to main content

Class: CloseFailedError

Defined in: packages/core/src/errors.ts:49

Thrown by closeAll() when one or more processables failed to release their resources. The rest were still closed — closeAll does not stop at the first failure, because stopping is what leaks the containers it exists to release.

errors holds every failure in the order the nodes were walked, so a caller can log all of them rather than the arbitrary one that happened to be first. Deliberately not AggregateError: core targets ES2020, which predates it.

total counts the nodes that were actually asked to close — the ones implementing close() — not every node the walk visited. "1 of 2 failed" has to be a ratio out of the attempts, or a crew of ten resource-free agents around one wedged container reads as "1 of 11" and the number means nothing.

cause is the first failure. The summary message says how many broke and nothing about why, so a bare console.error(err) would print a count and swallow the container's actual error; runtimes chain cause in their default formatting, so this puts one real stack in front of the reader without making them know to inspect errors.

Extends

Constructors

Constructor

new CloseFailedError(errors, total): CloseFailedError

Defined in: packages/core/src/errors.ts:53

Parameters

errors

unknown[]

total

number

Returns

CloseFailedError

Overrides

BaleybotError.constructor

Properties

cause

readonly cause: unknown

Defined in: packages/core/src/errors.ts:51

The first failure, chained so default error formatting shows a real stack.

Overrides

BaleybotError.cause


code

readonly code: string

Defined in: packages/core/src/errors.ts:6

Inherited from

BaleybotError.code


errors

readonly errors: unknown[]

Defined in: packages/core/src/errors.ts:54


message

message: string

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from

BaleybotError.message


name

name: string

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

BaleybotError.name


stack?

optional stack?: string

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from

BaleybotError.stack


stackTraceLimit

static stackTraceLimit: number

Defined in: node_modules/.bun/@types+node@24.13.3/node_modules/@types/node/globals.d.ts:68

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

BaleybotError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void

Defined in: node_modules/.bun/@types+node@24.13.3/node_modules/@types/node/globals.d.ts:52

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

targetObject

object

constructorOpt?

Function

Returns

void

Inherited from

BaleybotError.captureStackTrace


prepareStackTrace()

static prepareStackTrace(err, stackTraces): any

Defined in: node_modules/.bun/@types+node@24.13.3/node_modules/@types/node/globals.d.ts:56

Parameters

err

Error

stackTraces

CallSite[]

Returns

any

See

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

Inherited from

BaleybotError.prepareStackTrace