ApifyApiError
Hierarchy
- Error
- ApifyApiError
Index
Properties
attempt
Number of the API call attempt.
externaloptionalinheritedcause
clientMethod
The invoked resource client and the method. Known issue: Sometimes it displays
as unknown
because it can't be parsed from a stack trace.
optionaldata
Additional data provided by the API about the error
optionalhttpMethod
HTTP method of the API call.
externalinheritedmessage
name
originalStack
Original stack trace of the exception. It is replaced by a more informative stack with API call information.
optionalpath
Full path of the API endpoint (URL excluding origin).
externaloptionalinheritedstack
statusCode
HTTP status code of the error.
optionaltype
The type of the error, as returned by the API.
staticexternalinheritedstackTraceLimit
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.
Methods
staticexternalinheritedcaptureStackTrace
Creates a
.stack
property ontargetObject
, which when accessed returns a string representing the location in the code at whichError.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 aboveconstructorOpt
, includingconstructorOpt
, 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
externaltargetObject: object
externaloptionalconstructorOpt: Function
Returns void
staticexternalinheritedprepareStackTrace
Parameters
externalerr: Error
externalstackTraces: CallSite[]
Returns any
An
ApifyApiError
is thrown for successful HTTP requests that reach the API, but the API responds with an error response. Typically, those are rate limit errors and internal errors, which are automatically retried, or validation errors, which are thrown immediately, because a correction by the user is needed.