# RetryRequestError<!-- -->

Errors of `RetryRequestError` type will always be retried by the crawler.

*This error overrides the `maxRequestRetries` option, i.e. the request can be retried indefinitely until it succeeds.*

### Hierarchy

* Error
  * *RetryRequestError*
    * [SessionError](https://crawlee.dev/js/api/core/class/SessionError.md)

## Index[**](#Index)

### Constructors

* [**constructor](#constructor)

### Properties

* [**cause](#cause)
* [**message](#message)
* [**name](#name)
* [**stack](#stack)
* [**stackTraceLimit](#stackTraceLimit)

### Methods

* [**captureStackTrace](#captureStackTrace)
* [**isError](#isError)
* [**prepareStackTrace](#prepareStackTrace)

## Constructors<!-- -->[**](#Constructors)

### [**](#constructor)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/core/src/errors.ts#L23)constructor

* ****new RetryRequestError**(message): [RetryRequestError](https://crawlee.dev/js/api/core/class/RetryRequestError.md)

- Overrides Error.constructor

  #### Parameters

  * ##### optionalmessage: string

  #### Returns [RetryRequestError](https://crawlee.dev/js/api/core/class/RetryRequestError.md)

## Properties<!-- -->[**](#Properties)

### [**](#cause)externaloptionalinheritedcause

**cause?

<!-- -->

: unknown

Inherited from Error.cause

### [**](#message)externalinheritedmessage

**message: string

Inherited from Error.message

### [**](#name)externalinheritedname

**name: string

Inherited from Error.name

### [**](#stack)externaloptionalinheritedstack

**stack?

<!-- -->

: string

Inherited from Error.stack

### [**](#stackTraceLimit)staticexternalinheritedstackTraceLimit

**stackTraceLimit: number

Inherited from Error.stackTraceLimit

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<!-- -->[**](#Methods)

### [**](#captureStackTrace)staticexternalinheritedcaptureStackTrace

* ****captureStackTrace**(targetObject, constructorOpt): void

- Inherited from Error.captureStackTrace

  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

  * ##### externaltargetObject: object
  * ##### externaloptionalconstructorOpt: Function

  #### Returns void

### [**](#isError)staticexternalinheritedisError

* ****isError**(error): error is Error

- Inherited from Error.isError

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

  ***

  #### Parameters

  * ##### externalerror: unknown

  #### Returns error is Error

### [**](#prepareStackTrace)staticexternalinheritedprepareStackTrace

* ****prepareStackTrace**(err, stackTraces): any

- Inherited from Error.prepareStackTrace

  * **@see**

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

  ***

  #### Parameters

  * ##### externalerr: Error
  * ##### externalstackTraces: CallSite\[]

  #### Returns any
