node package manager

err

A tiny library to create custom errors in JavaScript.

err

A tiny library to create custom errors in JavaScript.

$ npm i --save err
const Err = require("err");
 
// Basic usage 
let e1 = new Err("Some nasty stuff happened");
console.log(e1);
// => [Error: Some nasty stuff happened] 
 
// Provide the error code 
let e2 = new Err("Some nasty stuff happened", "NASTY_STUFF_HAPPENED");
console.log(e2);
// => { 
//   [Error: Some nasty stuff happened] 
//   code: 'NASTY_STUFF_HAPPENED' 
// } 
 
// Provide the error code and some data 
let e3 = new Err("Some nasty stuff happened", "NASTY_STUFF_HAPPENED", {
    additional: "data"
});
console.log(e3);
// => { 
//   [Error: Some nasty stuff happened] 
//   additional: 'data' 
// , code: 'NASTY_STUFF_HAPPENED' 
// } 
 
// Provide the error data (including the code as well) 
let e4 = new Err("Some nasty stuff happened", {
    additional: "data"
  , code: "NASTY_STUFF_HAPPENED"
});
console.log(e4);
// => { 
//   [Error: Some nasty stuff happened] 
//   additional: 'data' 
// , code: 'NASTY_STUFF_HAPPENED' 
// } 
 
// Wrap an existing error 
let existingError = new Error("Some nasty stuff happened");
let e5 = new Err(existingError, {
    additional: "data"
  , code: "NASTY_STUFF_HAPPENED"
  , and: "some more data"
});
console.log(e5);
// => { 
//   [Error: Some nasty stuff happened] 
//   additional: 'data' 
// , code: 'NASTY_STUFF_HAPPENED' 
// , and: 'some more data' 
// } 
 
let e6 = new Err({
    message: "Something went really wrong!!!"
  , additional: "data"
  , code: "NASTY_STUFF_HAPPENED"
  , and: "some more data"
});
console.log(e6);
// => { 
//   [Error: Something went really wrong!!!] 
//   additional: 'data' 
// , code: 'NASTY_STUFF_HAPPENED' 
// , and: 'some more data' 
// } 
 
let e7 = new Err("Invalid option '<option>'.", {
    option: "test"
});
console.log(e7);
// { [Error: Invalid option 'test'.] option: 'test' } 

Create a custom error object.

  • String|Error|Object error: The error message or an existing Error instance or the data object where the message is the error message.
  • String|Object code: The error code or the data object.
  • Object data: The data object (its fields will be appended to the Error object).
  • Error The custom Error instance.

Have an idea? Found a bug? See how to contribute.

Another way to support the development of my open-source modules is to set up a recurring donation, via Patreon. 🚀

PayPal donations are appreciated too! Each dollar helps.

Thanks! ❤️

If you are using this library in one of your projects, add it in this list. ✨

MIT © Ionică Bizău