自定義錯誤碼:
// 自定義錯誤
const {formatResponse} = require("./tool");class ServiceError extends Error {/**** @param message 自定義錯誤信息* @param code 自定義錯誤碼*/constructor(message, code) {super(message);this.code = code;}/*** 將錯誤信息格式化為JSON* @returns {{msg, code, data}}*/toResponseJSON(){return formatResponse(this.code,this.message, {})}
}
// 文件上傳錯誤
exports.UploadError = class UploadError extends ServiceError {constructor(message) {super(message, 413);}
}
// 禁止訪問錯誤
exports.ForbiddenError = class ForbiddenError extends ServiceError {constructor(message) {super(message, 401);}
}
// 驗證錯誤
exports.ValidationError = class ValidationError extends ServiceError {constructor(message) {super(message, 406);}
}
// 無資源錯誤
exports.NotFoundError = class NotFoundError extends ServiceError {constructor(message) {super(message, 404);}
}
// 未知錯誤
exports.UnknownError = class UnknownError extends ServiceError {constructor() {super('server interval error', 500);}
}
module.exports.ServiceError = ServiceError;
自定義通過返回對象:
/*** 生成通用返回對象* @param code 自定義狀態碼* @param msg 返回信息* @param data 返回數據* @returns {{msg, code, data}}*/
module.exports.formatResponse = function (code, msg, data) {return {code: code,msg: msg,data: data,}
}