Package Exports
- createerror
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 (createerror) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-createerror
Helper for creating easily extensible and subclassable JavaScript Error classes.
Installation
Make sure you have node.js and npm installed, then run:
npm install createerror
Usage
var createError = require('createerror');
var MyError = createError({
name: 'MyError',
// Used when no message is handed to the constructor:
message: 'A slightly longer description of the error'
});
Instances can carry extra data about the error:
try {
throw new MyError({
message: "The message", // Not mandatory
data: {disallowedIds: [1, 3, 4, 6]}
});
} catch(e) {
console.warn(e.data); // {disallowedIds: [1, 3, 4, 6]}
}
Inheriting from an existing Error class (the Error classes in the
httpErrors module also use
createError
):
var httpErrors = require('httperrors');
var NotFoundUnderTheBedError = createError({
name: 'NotFoundUnderTheBed',
message: 'I looked under the bed, but it was not found'
}, httpErrors.NotFound);
Instances of this error walk and quack like httpErrors.NotFound
instances, of course:
var ohDear = new NotFoundUnderTheBedError('No monsters today');
console.warn(ohDear.NotFound); // true
console.warn(ohDear.NotFoundUnderTheBed); // true
License
3-clause BSD license -- see the LICENSE
file for details.