except-x

1.1.4 • Public • Published

except-x.js

Utility functions and prototype extensions for JavaScript Error object

API

// returns new Error object with a custom stackframe object containing 
// [description] argument appended to custom stack trace property [stackFrameArray]
Error.prototype.describe(description); 

Example Usage

require("except-x");
const stringX = require("string-x");


function throw_1() {
    throw new Error("error-1");
}

function throw_2() {
    try {
        throw_1()
    }
    catch (e) {
        throw e.describe(`error-2`);
    }
}

function throw_3() {
    try {
        throw_2()
    }
    catch (e) {
        throw e.describe(`error-3`);
    }
}


try {
    throw_3()
}
catch (e) {
    console.log(e.stackFrameArray.map(x => stringX.formatJSON(JSON.stringify(x))).join("\n\n"));
}

Output:

    fileName: "...test.js", 
    line: 20, 
    col: 9, 
    funcName: "throw_3", 
    desc: "error-3"
}

{
    fileName: "...test.js", 
    line: 12, 
    col: 9, 
    funcName: "throw_2", 
    desc: "error-2"
}

{
    fileName: "...test.js", 
    line: 7, 
    col: 11, 
    desc: "error-1"
}

Readme

Keywords

none

Package Sidebar

Install

npm i except-x

Weekly Downloads

0

Version

1.1.4

License

MIT

Last publish

Collaborators

  • prmph