Delen via


CallError class

Er is een fout opgetreden bij mislukte stateful API-methoden.

Uitbreiding

Error

Constructors

CallError(CallErrorTarget, Error, Date)

moet een (innerError als CommunicationServicesError) zijn

Eigenschappen

code

Primaire code voor de aanroepfout

innerError

Er is een fout opgetreden door de mislukte SDK-methode.

subCode

Subcode voor de belfout

target

Het API-methodedoel dat is mislukt.

timestamp

Tijdstempel toegevoegd aan de fout door de stateful laag.

Overgenomen eigenschappen

message
name
stack
stackTraceLimit

De Error.stackTraceLimit eigenschap geeft het aantal stackframes aan dat wordt verzameld door een stacktrace (gegenereerd door new Error().stack of Error.captureStackTrace(obj)).

De standaardwaarde is 10 , maar kan worden ingesteld op elk geldig JavaScript-nummer. Wijzigingen zijn van invloed op elke stacktrace die wordt vastgelegd nadat de waarde is gewijzigd.

Als ze zijn ingesteld op een niet-getalwaarde of op een negatief getal, worden er geen frames vastgelegd.

Overgenomen methoden

captureStackTrace(object, Function)

Hiermee maakt u een .stack eigenschap op targetObject, die bij het openen een tekenreeks retourneert die de locatie vertegenwoordigt in de code waarop Error.captureStackTrace() is aangeroepen.

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

De eerste regel van de trace wordt voorafgegaan door ${myObject.name}: ${myObject.message}.

Het optionele constructorOpt argument accepteert een functie. Als ze worden gegeven, worden alle bovenstaande constructorOptframes , inclusief constructorOpt, weggelaten uit de gegenereerde stacktrace.

Het constructorOpt argument is handig om implementatiedetails van het genereren van fouten voor de gebruiker te verbergen. Bijvoorbeeld:

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[])

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

Constructordetails

CallError(CallErrorTarget, Error, Date)

moet een (innerError als CommunicationServicesError) zijn

new CallError(target: CallErrorTarget, innerError: Error, timestamp?: Date)

Parameters

innerError

Error

timestamp

Date

Eigenschapdetails

code

Primaire code voor de aanroepfout

code?: number

Waarde van eigenschap

number

innerError

Er is een fout opgetreden door de mislukte SDK-methode.

innerError: Error

Waarde van eigenschap

Error

subCode

Subcode voor de belfout

subCode?: number

Waarde van eigenschap

number

target

Het API-methodedoel dat is mislukt.

target: CallErrorTarget

Waarde van eigenschap

timestamp

Tijdstempel toegevoegd aan de fout door de stateful laag.

timestamp: Date

Waarde van eigenschap

Date

Details van overgenomen eigenschap

message

message: string

Waarde van eigenschap

string

overgenomen van Error.message

name

name: string

Waarde van eigenschap

string

overgenomen van Error.name

stack

stack?: string

Waarde van eigenschap

string

overgenomen van Error.stack

stackTraceLimit

De Error.stackTraceLimit eigenschap geeft het aantal stackframes aan dat wordt verzameld door een stacktrace (gegenereerd door new Error().stack of Error.captureStackTrace(obj)).

De standaardwaarde is 10 , maar kan worden ingesteld op elk geldig JavaScript-nummer. Wijzigingen zijn van invloed op elke stacktrace die wordt vastgelegd nadat de waarde is gewijzigd.

Als ze zijn ingesteld op een niet-getalwaarde of op een negatief getal, worden er geen frames vastgelegd.

static stackTraceLimit: number

Waarde van eigenschap

number

overgenomen van Error.stackTraceLimit

Details overgenomen methode

captureStackTrace(object, Function)

Hiermee maakt u een .stack eigenschap op targetObject, die bij het openen een tekenreeks retourneert die de locatie vertegenwoordigt in de code waarop Error.captureStackTrace() is aangeroepen.

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

De eerste regel van de trace wordt voorafgegaan door ${myObject.name}: ${myObject.message}.

Het optionele constructorOpt argument accepteert een functie. Als ze worden gegeven, worden alle bovenstaande constructorOptframes , inclusief constructorOpt, weggelaten uit de gegenereerde stacktrace.

Het constructorOpt argument is handig om implementatiedetails van het genereren van fouten voor de gebruiker te verbergen. Bijvoorbeeld:

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)

Parameters

targetObject

object

constructorOpt

Function

overgenomen van Error.captureStackTrace

prepareStackTrace(Error, CallSite[])

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

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

Parameters

err

Error

stackTraces

CallSite[]

Retouren

any

overgenomen van Error.prepareStackTrace