Package Exports
- error-class
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (error-class) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Error Class
This module provides typed errors that closely emulate the native Error
class to a pedantic degree.
$ npm install error-class
Usage
The default export is a function that accepts only one argument, the name of the typed error.
const errorClass = require('error-class')
const SpecialError = errorClass('SpecialError')
const instance = new SpecialError('foobar')
instance.message // 'foobar'
Details
const errorClass = require('error-class')
const HumanError = errorClass('HumanError')
const hungryError = new HumanError('I\'m hungry!')
hungryError.message // 'I'm hungry!'
hungryError.stack // Platform-specific error stack trace.
hungryError.hasOwnProperty('name') // false
hungryError.hasOwnProperty('message') // true
hungryError.hasOwnProperty('stack') // true
// Just like native errors, it doesn't require using `new`.
const thirstyError = HumanError('I\'m thirsty!')
Object.keys(thirstyError).length === 0 // True, all properties are non-enumerable.
Object.keys(Object.getPrototypeOf(instance)).length === 0 // Prototype non-enumerable.
thirstyError.constructor === HumanError // True.
thirstyError instanceof Error // True, errors inherit from native `Error` class.
thirstyError instanceof HumanError // Also true, of course.
License
This software is licensed under the MIT License.