# explain-error

> wrap errors in explainations.

Latest version **1.0.4** (published 2017-05-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install explain-error
pnpm add explain-error
yarn add explain-error
bun add explain-error
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2017-05-20 |
| First published | 2014-11-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 68 |
| Author | Dominic Tarr |
| Maintainers | dominictarr |

## Links

- npm: https://www.npmjs.com/package/explain-error
- Repository: https://github.com/dominictarr/explain-error
- Issues: https://github.com/dominictarr/explain-error/issues
- npm.io page: https://npm.io/package/explain-error

## Recent versions

- 1.0.4 (latest) — 2017-05-20
- 1.0.3 — 2016-07-10
- 1.0.2 — 2016-07-10
- 1.0.1 — 2014-11-18
- 1.0.0 — 2014-11-18

## README

# explain-error

wrap errors in explainations.

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

## example

``` js
var explain = require('explain-error')

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

//show that this works even with multiple layers of explainations.
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/dominic/c/explain-error/example.js:11:9
    at /home/dominic/c/explain-error/example.js:5:13
  Error: asked for a file that certainly did not exist
    at /home/dominic/c/explain-error/example.js:5:16
    at Object.oncomplete (fs.js:107:15)
  Error: ENOENT, stat neoatuhrcoahkrcophkr

```

## parsing stack traces

of course, this adds lines to your errors that will do not look like normal js errors.
will this break all your tools? if so please post an issue.

## License

MIT

---
_Source: https://npm.io/package/explain-error · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
