Class: APIError
Defined in: src/types/errors.ts:610
API request error.
Remarks
Thrown when an API request fails. Used primarily in frontend code when fetching data from backend endpoints. Captures HTTP status code and endpoint information for debugging.
Example
const response = await fetch('/api/eprints');
if (!response.ok) {
throw new APIError(
`Failed to fetch eprints: ${response.statusText}`,
response.status,
'/api/eprints'
);
}
Extends
Constructors
new APIError()
new APIError(
message,statusCode?,endpoint?,cause?):APIError
Defined in: src/types/errors.ts:631
Creates a new APIError.
Parameters
message
string
Description of the API failure
statusCode?
number
HTTP status code (e.g., 404, 500)
endpoint?
string
API endpoint that failed (e.g., '/api/eprints')
cause?
Error
Original error (if chained)
Returns
Overrides
Properties
cause?
readonlyoptionalcause: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
code
readonlycode:"API_ERROR"='API_ERROR'
Defined in: src/types/errors.ts:611
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
endpoint?
readonlyoptionalendpoint:string
Defined in: src/types/errors.ts:621
API endpoint that was called.
statusCode?
readonlyoptionalstatusCode:number
Defined in: src/types/errors.ts:616
HTTP status code from the failed request (if available).