New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@gotoeasy/err

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gotoeasy/err

一个用于node环境的Error子类,提供更丰富的构造参数接口,更友好的code-frame提示,消息拼接等功能,详见Sample截图

latest
Source
npmnpm
Version
0.4.1
Version published
Weekly downloads
22
-18.52%
Maintainers
1
Weekly downloads
 
Created
Source

@gotoeasy/err

一个用于node环境的Error子类,提供更丰富的构造参数接口,更友好的code-frame提示,消息拼接等功能,详见Sample截图

NPM version License

Install

npm i @gotoeasy/err

Sample 1

// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        let div = require('./test-divxxxxxxxxxxxxxxx');
        return div(1, 0);
    }catch(e){
        throw Err.cat('my error message', e);
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample1

Sample 2

// test-div.js
module.exports = (a, b) => {
    if ( b === 0 ) {
        throw new Error('invalid parameter (b=0)')
    }
    return a/b;
};
// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        let div = require('./test-div');
        return div(1, 0);
    }catch(e){
        throw Err.cat('my error message', e);
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample2

Sample 3

// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        return div(1, 0);
    }catch(e){
        throw new Err('my error message', e);
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample3

Sample 4

// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        return div(1, 0);
    }catch(e){
        throw Err.cat('my message 11111', 'file=z.js', e, new Err('err message'));
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample4

Sample 5

// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        return div.exec(1, 0);
    }catch(e){
        throw Err.cat('my error message', e);
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample5

Sample 6

// z.js
const codeframe = require('@gotoeasy/err');

function runCompute(){
    try{
        throw new Error('test');
    }catch(e){
        throw new Err('my message1', 'file=./test.js', e, {file:'./test.js', line:74, column:51});
    }
}

try{
    runCompute();
}catch(e){
    console.error(e.toString());
}

Sample6

Err对象构造函数,提供更丰富的参数接口

  • 参数分message、error对象、options选项,数量不限,顺序随意
  • message参数有多个的话会被按顺序拼接,且第一个message作为异常对象的消息
  • error对象有多个的时候,仅最后一个有效,其stack会被拼接作为toString返回内容的一部分
  • options对象有多个的时候,仅最后一个有效,作用是自定义生成code-frame内容

Err.cat方法,主要用于编辑追加error对象的错误信息

  • 参数分message、error对象数量不限,顺序随意
  • message参数有多个的话会被按顺序拼接
  • error对象有多个的时候,stack会被按顺序拼接作为toString返回内容的一部分
  • 返回参数中最后一个error对象


Keywords

gotoeasy

FAQs

Package last updated on 16 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts