clarify-error
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

clarify-error

Wrap errors in explanations.

This is a spiritual successor to explain-error, rewritten after 8 years, using TypeScript, fixing some quirks and achieving 100% test coverage.

In Node.js sometimes something fails because of some internal detail, but then this error may be passed back somewhere else, too often, context is lost.

Example

const fs = require('fs')
const explain = require('explain-error')

// stat a file that does not exist. this will error, so add an explanation.
function explainedError(cb) {
  fs.stat('neoatuhrcoahkrcophkr', (err) => {
    if (err) cb(explain(err, 'asked for a file that certainly did not exist'))
    else cb()
  })
}

// this works even with multiple layers of explanations.
explainedError(function (err) {
  throw explain(err, 'called an function that was expected to fail')
})

Output:

fs.stat does not show where it was called from, but at least now you know what happened after that.

Error: called an function that was expected to fail
    at /home/staltz/oss/wrap-error/example.js:11:9
    at /home/staltz/oss/wrap-error/example.js:5:14
  Error: asked for a file that certainly did not exist
    at /home/staltz/oss/wrap-error/example.js:5:17
    at FSReqCallback.oncomplete (fs.js:168:21)
  Error: ENOENT: no such file or directory, stat 'neoatuhrcoahkrcophkr'

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i clarify-error

Weekly Downloads

430

Version

1.0.0

License

MIT

Unpacked Size

5.62 kB

Total Files

5

Last publish

Collaborators

  • staltz