OptionError
@ts-rust/std / Option / OptionError
Class: OptionError
Defined in: packages/std/src/option/error.ts:52
An error thrown by Option methods when operations fail due to the option's state or unexpected conditions.
This class extends AnyError with error kinds specific to Option operations, as defined in OptionErrorKind. It is typically thrown by methods like unwrap, expect, or others that enforce strict access or behavior on Some or None variants. Use it to handle failures gracefully in a type-safe manner, inspecting the OptionErrorKind to determine the cause.
Example
const opt = none<number>();
try {
opt.unwrap();
} catch (e) {
expect(e).toBeInstanceOf(OptionError);
expect(e.kind).toBe(OptionErrorKind.UnwrapCalledOnNone);
expect(e.message).toBe("`unwrap`: called on `None`");
}
Extends
Constructors
Constructor
new OptionError(
message,
kind,
reason?): OptionError;
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
OptionError
Inherited from
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