Skip to main content

Class: RateLimitError

Defined in: src/types/errors.ts:325

Rate limit exceeded error.

Remarks

Thrown when a client exceeds the allowed request rate for an endpoint.

HTTP mapping: 429 Too Many Requests

Example

if (requestCount > limit) {
throw new RateLimitError(60); // Retry after 60 seconds
}

Extends

Constructors

new RateLimitError()

new RateLimitError(retryAfter): RateLimitError

Defined in: src/types/errors.ts:342

Creates a new RateLimitError.

Parameters

retryAfter

number

Seconds to wait before retrying

Returns

RateLimitError

Overrides

ChiveError.constructor

Properties

cause?

readonly optional cause: Error

Defined in: src/types/errors.ts:71

Original error that caused this error (if any).

Remarks

Error chaining allows tracking the full error context through multiple layers of the application. Useful for debugging complex error scenarios.

Example

try {
await fetchData();
} catch (err) {
throw new ValidationError('Failed to validate data', 'field', 'required', err as Error);
}

Inherited from

ChiveError.cause


code

readonly code: "RATE_LIMIT_EXCEEDED" = 'RATE_LIMIT_EXCEEDED'

Defined in: src/types/errors.ts:326

Machine-readable error code.

Remarks

Error codes are unique identifiers for error types, enabling programmatic error handling (switch statements, error maps), error tracking in monitoring systems, and client-side error translation (i18n).

Overrides

ChiveError.code


retryAfter

readonly retryAfter: number

Defined in: src/types/errors.ts:335

Seconds to wait before retrying.

Remarks

Clients should respect this value and implement exponential backoff for repeated rate limit errors.