AnyError
@ts-rust/std / Error / AnyError
Class: AnyError<T>
Defined in: packages/std/src/error/any.error.ts:26
A generic error class extending Error
with a typed kind
and optional reason
.
This class provides a structured way to represent errors with a category (kind
) of a
primitive type (e.g., string, number, enum) and an optional underlying cause (reason
).
The error message is automatically formatted to include both the kind
and reason
(if provided), making it suitable for categorized error handling in libraries or
applications.
Example
const err1 = new AnyError("Invalid input", "ValidationError");
const err2 = new AnyError("File not found", 404, new Error("ENOENT"));
expect(err1.message).toBe("[ValidationError] Invalid input.");
expect(err2.message).toBe("[404] File not found. Reason: ENOENT");
expect(err2.kind).toBe(404);
expect(err2.reason.message).toBe("ENOENT");
Extends
Error
Extended by
Type Parameters
Type Parameter | Description |
---|---|
| The type of the error |
Constructors
Constructor
new AnyError<T>(
message,
kind,
reason?): AnyError<T>;
Defined in: packages/std/src/error/any.error.ts:56
Constructs a new AnyError instance with a message, kind, and optional reason.
The error’s message is formatted as [kind] message
or [kind] message. Reason: reason
if a reason
is provided. The name
is set to the constructor’s name,
and the reason
is normalized to an Error
instance.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The descriptive message for the error. |
|
| The category or type of the error, a primitive value. |
|
| An optional underlying cause, which can be any value (converted to |
Returns
AnyError
<T
>
Overrides
Error.constructor;
Properties
Property | Modifier | Type | Description | Inherited from | Defined in |
---|---|---|---|---|---|
|
| ‐ |
| node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts:26 | |
|
| The category or type of the error, represented as a primitive value. This readonly property identifies the error’s kind, such as a string code or numeric status, and is set during construction. | ‐ | ||
|
| ‐ |
| node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts:1077 | |
|
| ‐ |
| node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts:1076 | |
|
| The underlying cause of the error, represented as an This readonly property holds the | ‐ | ||
|
| ‐ |
| node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts:1078 | |
| ( | Optional override for formatting stack traces See https://v8.dev/docs/stack-trace-api#customizing-stack-traces |
| node_modules/.pnpm/@types+node@20.17.28/node_modules/@types/node/globals.d.ts:98 | |
|
| ‐ |
| node_modules/.pnpm/@types+node@20.17.28/node_modules/@types/node/globals.d.ts:100 |
Methods
captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void;
Defined in: node_modules/.pnpm/@types+node@20.17.28/node_modules/@types/node/globals.d.ts:91
Create .stack property on a target object
Parameters
Parameter | Type |
---|---|
|
|
|
|
Returns
void
Inherited from
Error.captureStackTrace;