Skip to content

Instantly share code, notes, and snippets.

@girvo
Forked from gr0uch/errors.js
Last active August 29, 2015 14:21
Show Gist options
  • Save girvo/9e7bad4974480085ea13 to your computer and use it in GitHub Desktop.
Save girvo/9e7bad4974480085ea13 to your computer and use it in GitHub Desktop.
// TypedError class which other typed errors subclass from.
class TypedError extends Error {
constructor (message) {
super();
if (Error.hasOwnProperty('captureStackTrace'))
Error.captureStackTrace(this, this.constructor);
else
Object.defineProperty(this, 'stack', {
value: (new Error()).stack
});
Object.defineProperty(this, 'message', {
value: message
});
}
get name () {
return this.constructor.name;
}
}
export class NotFoundError extends TypedError {}
export class MethodError extends TypedError {}
export class NotAcceptableError extends TypedError {}
export class UnsupportedError extends TypedError {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment