Error Handling
The SDK provides detailed error types for different failure scenarios. All errors extend a common base class, making it easy to catch specific errors or handle them broadly.
Error Types
Section titled “Error Types”| Error Class | Description |
|---|---|
UnauthorizedError | Invalid or missing API key |
ObjectNotFoundError | Requested resource does not exist |
FilterError | Invalid filter parameters |
GenericRequestError | General API request failure |
GenericError | Unexpected API error |
SubscriberOnlyError | Resource requires a subscriber account |
UrlFormatError | Malformed request URL |
JsonpCallbackMissingError | JSONP callback parameter missing |
OptionsValidationError | Invalid client configuration |
Catching Specific Errors
Section titled “Catching Specific Errors”import { UnauthorizedError, ObjectNotFoundError, FilterError, GenericRequestError,} from 'comic-vine-sdk';
try { const issue = await client.issue.retrieve(999999);} catch (error) { if (error instanceof UnauthorizedError) { console.error('Invalid API key'); } else if (error instanceof ObjectNotFoundError) { console.error('Issue not found'); } else if (error instanceof FilterError) { console.error('Invalid filter parameters'); } else if (error instanceof GenericRequestError) { console.error('API request failed:', error.message); }}Error Properties
Section titled “Error Properties”All SDK errors include a help property with guidance on resolving the issue:
try { const issue = await client.issue.retrieve(999999);} catch (error) { if (error instanceof ObjectNotFoundError) { console.error(error.message); // Error description console.error(error.help); // Guidance for resolving the error }}Error Hierarchy
Section titled “Error Hierarchy”All error classes extend BaseError, which extends HttpClientError from @http-client-toolkit/core. This means you can catch all SDK errors with a single check:
import { HttpClientError } from '@http-client-toolkit/core';
try { const issue = await client.issue.retrieve(1);} catch (error) { if (error instanceof HttpClientError) { // Any SDK or HTTP client error console.error('SDK error:', error.message); }}See Also
Section titled “See Also”- Errors Reference — Complete list of all error types
- Configuration — Rate limit error behavior options