diff --git a/src/node/utils/customError.js b/src/node/utils/customError.js index c18743485..c47729f7f 100644 --- a/src/node/utils/customError.js +++ b/src/node/utils/customError.js @@ -1,17 +1,23 @@ -/* - This helper modules allows us to create different type of errors we can throw -*/ -function customError(message, errorName) -{ - this.name = errorName || "Error"; - this.message = message; - - var stackParts = new Error().stack.split("\n"); - stackParts.splice(0,2); - stackParts.unshift(this.name + ": " + message); - - this.stack = stackParts.join("\n"); +/** + * CustomError + * + * This helper modules allows us to create different type of errors we can throw + * + * @class CustomError + * @extends {Error} + */ +class CustomError extends Error { + /** + * Creates an instance of CustomError. + * @param {*} message + * @param {string} [name='Error'] a custom name for the error object + * @memberof CustomError + */ + constructor(message, name = 'Error') { + super(message); + this.name = name; + Error.captureStackTrace(this, this.constructor); + } } -customError.prototype = Error.prototype; -module.exports = customError; +module.exports = CustomError;