Use Custom Error Classes for Validation
This commit is contained in:
@@ -20,3 +20,43 @@ export class ExponentialBackoffStoppedRetriesError extends Error {
|
||||
this.name = 'ExponentialBackoffStoppedRetriesError';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Error thrown when an exponential backoff option is too small
|
||||
*/
|
||||
export class ExponentialBackoffNumberTooSmallError extends Error {
|
||||
constructor(option: string, value: number, min: number) {
|
||||
super(`Exponential backoff option "${option}" is too small. Must be at least ${min}`);
|
||||
this.name = 'ExponentialBackoffNumberTooSmallError';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Error thrown when an exponential backoff option is out of bounds
|
||||
*/
|
||||
export class ExponentialBackoffNumberOutOfBoundsError extends Error {
|
||||
constructor(option: string, value: number, min: number, max: number) {
|
||||
super(`Exponential backoff option "${option}" is out of bounds. Must be between ${min} and ${max}`);
|
||||
this.name = 'ExponentialBackoffNumberOutOfBoundsError';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Error thrown when an exponential backoff option is an invalid infinite integer
|
||||
*/
|
||||
export class ExponentialBackoffInvalidInfiniteIntegerError extends Error {
|
||||
constructor(option: string) {
|
||||
super(`Exponential backoff option "${option}" is invalid. Must be a finite number`);
|
||||
this.name = 'ExponentialBackoffInvalidInfiniteIntegerError';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Error thrown when an exponential backoff option is not an integer
|
||||
*/
|
||||
export class ExponentialBackoffNonIntegerError extends Error {
|
||||
constructor(option: string) {
|
||||
super(`Exponential backoff option "${option}" is invalid. Must be an integer`);
|
||||
this.name = 'ExponentialBackoffNonIntegerError';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user