NodeJS - Error.captureStackTrace

  • 作用:
    Error.captureStackTrace用于打印出更详细的错误信息。
  • 错误代码:
{
	"code": "404",
	"content": "{}未找到。",
	"type": 2
}
  • 调用方式:
1.return next(new APIError({code: '404', messageInfo: ['用户']})); 
2.return next({code: '404', messageInfo: ['用户']});

打印结果中,添加 new APIError 可以打印出更加确切的错误信息,内容放在trace=[]中。如果不添加则trace内容就为[]。next一般用于错误信息返回。

附APIError方法

/**
 * @extends Error
 */
class ExtendableError extends Error {
    constructor(messageObj, status) {
        let message,
            messageInfo;
        if (messageObj instanceof Object) {
            message = messageObj.code;
            messageInfo = messageObj.messageInfo;
        } else {
            message = messageObj;
        }
        super(message);
        this.name = this.constructor.name;
        this.code = message;
        this.messageInfo = messageInfo;
        this.status = status;
        Error.captureStackTrace(this, this.constructor.name);
    }
}

/**
 * Class representing an API error.
 * @extends ExtendableError
 */
class APIError extends ExtendableError {
    /**
     * Creates an API error.
     * @param {string, object} messageObj - Error Object.
     * @param {number} status - HTTP status code of error.
     */
    constructor(messageObj, status = 500) {
        super(messageObj, status);
    }
}

module.exports = APIError;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值