Class

DivisionByZeroError

src/core/errors.ts:11

Thrown for exact division by zero. Small nonzero numerical values are not treated as zero.

Members

captureStackTrace(targetObject: object, constructorOpt?: Function): voidMethod

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

NameTypeDescription
targetObjectobject
constructorOptFunction

Returns

void

cause: unknownProperty

No description is available yet.

message: stringProperty

No description is available yet.

name: stringProperty

No description is available yet.

prepareStackTrace(err: Error, stackTraces: CallSite[]): anyMethod
see

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

Parameters

NameTypeDescription
errError
stackTracesCallSite[]

Returns

any

stack: stringProperty

No description is available yet.

stackTraceLimit: numberProperty

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.