Package Exports
- combine-errors
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 (combine-errors) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
combine-errors
Simple, dependency-free way to combine multiple errors into one.
This is useful for handling multiple asynchronous errors, where you want to catch all the errors and combine them to return just a single error.
Features
error instanceof Error === true
- composable:
error([error([err1, err2]), err3])
- stack and message are combined in a nice way
- array-like object, so you can access the original errors by looping over the error
- If you just have one error, it looks exactly like raw error meaning,
error(err).message === err.message && error(err).stack === err.stack
- zero dependencies
- should work in the browser, though I haven't tested it yet
Installation
npm install combine-errors
Usage
var error = require('combine-errors')
var err = error([
new Error('boom'),
new Error('kablam')
])
throw err
/*
=>
Error: boom
at repl:2:1
at REPLServer.defaultEval (repl.js:262:27)
at bound (domain.js:287:14)
at REPLServer.runBound [as eval] (domain.js:300:12)
at REPLServer.<anonymous> (repl.js:431:12)
at emitOne (events.js:95:20)
at REPLServer.emit (events.js:182:7)
at REPLServer.Interface._onLine (readline.js:211:10)
at REPLServer.Interface._line (readline.js:550:8)
at REPLServer.Interface._ttyWrite (readline.js:827:14)
Error: kablam
at repl:3:1
at REPLServer.defaultEval (repl.js:262:27)
at bound (domain.js:287:14)
at REPLServer.runBound [as eval] (domain.js:300:12)
at REPLServer.<anonymous> (repl.js:431:12)
at emitOne (events.js:95:20)
at REPLServer.emit (events.js:182:7)
at REPLServer.Interface._onLine (readline.js:211:10)
at REPLServer.Interface._line (readline.js:550:8)
at REPLServer.Interface._ttyWrite (readline.js:827:14)
*/
License
MIT