clarify-error
v1.0.0
Published
Add some additional context to a JavaScript error
Downloads
832
Readme
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