Package Exports
- err-code
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 (err-code) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
err-code
Create new error instances with a code and additional properties.
Installation
$ npm install err-code
// or
$ bower install err-code
The browser file is named index.umd.js which supports CommonJS, AMD and globals (errCode).
Why
I find myself doing this repeatedly:
var err = new Error('My message');
err.code = 'SOMECODE';
err.detail = 'Additional information about the error';
throw err;
Usage
Simple usage.
var errcode = require('err-code');
// fill error with message + code
throw errcode(new Error('My message'), 'ESOMECODE');
// fill error with message + code + props
throw errcode(new Error('My message'), 'ESOMECODE', { detail: 'Additional information about the error' });
// fill error with message + props
throw errcode(new Error('My message'), { detail: 'Additional information about the error' });
Pre-existing fields
If the passed Error
already has a .code
field, or fields specified in the third argument to errcode
they will be overwritten, unless the fields are read only or otherwise throw during assignment in which case a new object will be created that shares a prototype chain with the original Error
. The .stack
and .message
properties will be carried over from the original error and .code
or any passed properties will be set on it.
Tests
$ npm test
License
Released under the MIT License.