0.2.1 • Published 9 years ago

custom-error v0.2.1

Weekly downloads
7,763
License
MIT
Repository
github
Last release
9 years ago

custom-error

Create custom errors that inherit Error.

build status

why

Extending Error is a real pain, so this library deals with the quirks, providing a clean API to extend Error that works across JS environments, including Node and browsers.

usage

Calling customError(errorTitle[, ParentError]) creates a new error class that can be called the same way that Error is called. The new error constructor will inherit from Error, or from ParentError if you provide it.

examples

var customError = require('custom-error');

var ApocalypseError = customError('ApocalypseError');

ApocalypseError() instanceof Error           // true
ApocalypseError() instanceof ApocalypseError // true

var UnixApocalypseError = customError('UnixApocalypseError', ApocalypseError)

UnixApocalypseError() instanceof Error                 // true
UnixApocalypseError() instanceof ApocalypseError       // true
UnixApocalypseError() instanceof UnixApocalypseError   // true

if (new Date().getFullYear() === 2038) {
  throw UnixApocalypseError('OH NOES')
}

Using prototype

UnixApocalypseError.prototype.year = 2038

try {
  throw UnixApocalypseError()
}
catch (err) {
  console.log(err.year) // 2038
}

installation

npm install custom-error

license

MIT