Udostępnij za pośrednictwem


DurableError class

Wystąpił błąd w przypadku niepowodzenia zaplanowanego działania lub podorchratora. Ten błąd można sprawdzić za pomocą funkcji instanceof Guard, aby przechwytywać tylko wyjątki zgłaszane przez bibliotekę DurableJS.

Rozszerzenie

Error

Konstruktory

DurableError(undefined | string)

Tworzy wystąpienie DurableError.

Właściwości dziedziczone

message
name
stack
stackTraceLimit

Właściwość Error.stackTraceLimit określa liczbę ramek stosu zebranych przez ślad stosu (niezależnie od tego, czy jest generowany przez new Error().stack lub Error.captureStackTrace(obj)).

Wartość domyślna to 10 ale może być ustawiona na dowolny prawidłowy numer JavaScript. Zmiany będą miały wpływ na wszystkie ślady stosu przechwycone po zmianie wartości.

Jeśli ustawiona jest wartość inna niż liczba lub liczba ujemna, ślady stosu nie będą przechwytywać żadnych ramek.

Metody dziedziczone

captureStackTrace(object, Function)

Tworzy właściwość .stack w programie targetObject, która po uzyskaniu dostępu zwraca ciąg reprezentujący lokalizację w kodzie, w którym Error.captureStackTrace() została wywołana.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

Pierwszy wiersz śladu będzie poprzedzony prefiksem ${myObject.name}: ${myObject.message}.

constructorOpt Opcjonalny argument akceptuje funkcję. Jeśli zostanie podana, wszystkie klatki powyżej constructorOpt, w tym constructorOpt, zostaną pominięte w wygenerowanym śladzie stosu.

Argument constructorOpt jest przydatny do ukrywania szczegółów implementacji generowania błędów przed użytkownikiem. Przykład:

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();
prepareStackTrace(Error, CallSite[])

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

Szczegóły konstruktora

DurableError(undefined | string)

Tworzy wystąpienie DurableError.

new DurableError(message: undefined | string)

Parametry

message

undefined | string

Komunikat o błędzie.

Szczegóły właściwości dziedziczonej

message

message: string

Wartość właściwości

string

dziedziczone z Error.message

name

name: string

Wartość właściwości

string

dziedziczone z Error.name

stack

stack?: string

Wartość właściwości

string

dziedziczone z Error.stack

stackTraceLimit

Właściwość Error.stackTraceLimit określa liczbę ramek stosu zebranych przez ślad stosu (niezależnie od tego, czy jest generowany przez new Error().stack lub Error.captureStackTrace(obj)).

Wartość domyślna to 10 ale może być ustawiona na dowolny prawidłowy numer JavaScript. Zmiany będą miały wpływ na wszystkie ślady stosu przechwycone po zmianie wartości.

Jeśli ustawiona jest wartość inna niż liczba lub liczba ujemna, ślady stosu nie będą przechwytywać żadnych ramek.

static stackTraceLimit: number

Wartość właściwości

number

dziedziczone z Error.stackTraceLimit

Szczegóły metody dziedziczonej

captureStackTrace(object, Function)

Tworzy właściwość .stack w programie targetObject, która po uzyskaniu dostępu zwraca ciąg reprezentujący lokalizację w kodzie, w którym Error.captureStackTrace() została wywołana.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`

Pierwszy wiersz śladu będzie poprzedzony prefiksem ${myObject.name}: ${myObject.message}.

constructorOpt Opcjonalny argument akceptuje funkcję. Jeśli zostanie podana, wszystkie klatki powyżej constructorOpt, w tym constructorOpt, zostaną pominięte w wygenerowanym śladzie stosu.

Argument constructorOpt jest przydatny do ukrywania szczegółów implementacji generowania błędów przed użytkownikiem. Przykład:

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

Parametry

targetObject

object

constructorOpt

Function

dziedziczone z Error.captureStackTrace

prepareStackTrace(Error, CallSite[])

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

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

Parametry

err

Error

stackTraces

CallSite[]

Zwraca

any

dziedziczone z Error.prepareStackTrace