Skip to content

Class: BaseException

Extends

  • Error

Constructors

Constructor

ts
new BaseException(message?: string, options?: ErrorOptions & {
  code?: string;
}): BaseException;

Parameters

ParameterType
message?string
options?ErrorOptions & { code?: string; }

Returns

BaseException

Overrides

ts
Error.constructor;

Properties

PropertyModifierTypeDescriptionOverridesInherited from
cause?publicunknown--Error.cause
code?publicstringA machine readable error code. This will allow the error handling logic to narrow down exceptions based upon the error code.--
help?publicstringOptional help description for the error. You can use it to define additional human readable information for the error.--
messagepublicstring--Error.message
namepublicstringName of the class that raised the exception.Error.name-
stack?publicstring--Error.stack
code?staticstring---
help?staticstringDefine the error metadata as static properties to avoid setting them repeatedly on the error instance--
message?staticstring---
stackTraceLimitstaticnumberThe 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.-Error.stackTraceLimit

Accessors

[toStringTag]

Get Signature

ts
get toStringTag: string;
Returns

string

Methods

toString()

ts
toString(): string;

Returns a string representation of an object.

Returns

string


captureStackTrace()

ts
static captureStackTrace(targetObject: object, constructorOpt?: Function): 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.

js
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:

js
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

ParameterType
targetObjectobject
constructorOpt?Function

Returns

void

Inherited from

ts
Error.captureStackTrace;

isError()

ts
static isError(error: unknown): error is Error;

Indicates whether the argument provided is a built-in Error instance or not.

Parameters

ParameterType
errorunknown

Returns

error is Error

Inherited from

ts
Error.isError;

prepareStackTrace()

ts
static prepareStackTrace(err: Error, stackTraces: CallSite[]): any;

Parameters

ParameterType
errError
stackTracesCallSite[]

Returns

any

See

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

Inherited from

ts
Error.prepareStackTrace;