cero
Base error class which helps you better organize and track your errors.
Features
- Predefined error codes for better error structuring and reusing common errors,
- Custom error message formatters,
- Scoped errors.
Install
npm i cero
Usage
; // Create custom errors fabric, which will alows us to create scoped errors.// If you describe all your module errors like this, it will be easy to be consistent// and change error messages and their formats from single place.const myErrorFactory = ; // Now we can create scopped error.// Scope might be your module name or something else.const MyModuleError = ; // And now we can throw an error with specified code.try throw 'NOT_FOUND' name: 'Blog post about cero' ; catch e console; //eslint-disable-line // { [MyProjectError: #awesome-module [NOT_FOUND] — Object "Blog post about cero" not found!] // name: 'MyProjectError', // code: 'NOT_FOUND', // message: '#awesome-module [NOT_FOUND] — Object "Blog post about cero" not found!' } // Or with more complex formattertry throw 'HTTP_ERROR' msg: 'Blog post about cero doesnt`t exist yet' reason: 'I haven`t written it yet!' ; catch e console; //eslint-disable-line // { [MyProjectError: #awesome-module [HTTP_ERROR] — [undefined] HTTP Error — Blog post about cero doesnt`t exist yet — I haven`t written it // yet!] // name: 'MyProjectError', // code: 'HTTP_ERROR', // message: '#awesome-module [HTTP_ERROR] — [undefined] HTTP Error — Blog post about cero doesnt`t exists yet — I haven`t written it yet!' }
More usage
Dependencies
Package | Version | Dev |
---|---|---|
babel | ^5.8.5 | ✔ |
babel-eslint | ^4.0.0 | ✔ |
blue-tape | ^0.1.10 | ✔ |
coveralls | ^2.11.3 | ✔ |
eslint | ^0.24.1 | ✔ |
faucet | 0.0.1 | ✔ |
isparta | ^3.0.3 | ✔ |
node-readme | ^0.1.8 | ✔ |
nsp | ^1.0.3 | ✔ |
pre-commit | ^1.0.10 | ✔ |
Author
Stanislav Sysoev d4rkr00t@gmail.com http://github.com/d4rkr00t