Skip to main content

Class: PDSConnectionError

Defined in: src/atproto/errors/repository-errors.ts:40

Error thrown when a PDS is unreachable or returns an unexpected response.

Remarks​

This error indicates network-level failures when communicating with a user's Personal Data Server (PDS). Common causes include:

  • PDS is offline or unreachable
  • Network timeout
  • DNS resolution failure
  • TLS certificate errors
  • Unexpected HTTP status codes

Example​

try {
await repository.getRecord(uri);
} catch (error) {
if (error instanceof PDSConnectionError) {
logger.warn('PDS unreachable', { pdsUrl: error.pdsUrl, statusCode: error.statusCode });
}
}

Extends​

Constructors​

new PDSConnectionError()​

new PDSConnectionError(message, pdsUrl, statusCode?, cause?): PDSConnectionError

Defined in: src/atproto/errors/repository-errors.ts:65

Creates a new PDSConnectionError.

Parameters​

message​

string

Description of the connection failure

pdsUrl​

string

URL of the PDS that failed

statusCode?​

number

HTTP status code (if available)

cause?​

Error

Original error (if chained)

Returns​

PDSConnectionError

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: "PDS_CONNECTION_ERROR" = 'PDS_CONNECTION_ERROR'

Defined in: src/atproto/errors/repository-errors.ts:41

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


pdsUrl​

readonly pdsUrl: string

Defined in: src/atproto/errors/repository-errors.ts:46

PDS URL that was being accessed.


statusCode?​

readonly optional statusCode: number

Defined in: src/atproto/errors/repository-errors.ts:55

HTTP status code if available.

Remarks​

Present when the PDS returned an HTTP response. Absent for network-level failures like timeout or connection refused.