-
Notifications
You must be signed in to change notification settings - Fork 0
Error Handling
drrobl0xx edited this page Jul 28, 2026
·
2 revisions
All three packages expose the same three error classes.
| Class | When thrown | Key properties |
|---|---|---|
JokelboardError |
Any non-2xx response |
status, code, message
|
RateLimitError |
HTTP 429 |
retryAfter (seconds) |
RevisionConflictError |
HTTP 409 (conflict) | currentRevision |
RateLimitError and RevisionConflictError both extend JokelboardError.
import { JokelboardClient, JokelboardError, RateLimitError, RevisionConflictError } from '@yeetgodpro1324/jokelboard-js';
const client = new JokelboardClient({ token: process.env.JOKELBOARD_TOKEN });
try {
await client.createCard('board-id', 'list-id', 'My card');
} catch (err) {
if (err instanceof RateLimitError) {
console.error(`Rate limited — retry in ${err.retryAfter}s`);
} else if (err instanceof RevisionConflictError) {
console.error(`Conflict — current revision: ${err.currentRevision}`);
} else if (err instanceof JokelboardError) {
console.error(`${err.code} (${err.status}): ${err.message}`);
}
}Auto-retry on 429 is enabled by default (retryOnRateLimit: true, up to maxRetries: 3).
import { JokelboardClient, JokelboardError, RateLimitError, RevisionConflictError } from '@yeetgodpro1324/jokelboard-ts';
const client = new JokelboardClient({ token: process.env.JOKELBOARD_TOKEN });
try {
await client.createCard('board-id', 'list-id', 'My card');
} catch (err) {
if (err instanceof RateLimitError) {
console.error(`Rate limited — retry in ${err.retryAfter}s`);
} else if (err instanceof RevisionConflictError) {
console.error(`Conflict — current revision: ${err.currentRevision}`);
} else if (err instanceof JokelboardError) {
console.error(`${err.code} (${err.status}): ${err.message}`);
}
}from jokelboard import JokelboardClient, JokelboardError, RateLimitError, RevisionConflictError
with JokelboardClient(token="jkb_...") as client:
try:
client.create_card("board-id", "list-id", "My card")
except RateLimitError as e:
print(f"Rate limited — retry in {e.retry_after}s")
except RevisionConflictError as e:
print(f"Conflict — current revision: {e.current_revision}")
except JokelboardError as e:
print(f"{e.code} ({e.status}): {e}")Auto-retry on 429 is enabled by default (retry_on_rate_limit=True, up to max_retries=3).
const client = new JokelboardClient({
token: process.env.JOKELBOARD_TOKEN,
retryOnRateLimit: false,
});client = JokelboardClient(token="jkb_...", retry_on_rate_limit=False)