Home Reference Source

src/classes/CeallogError.js

'use strict';

/**
 * @desc Error used by ceallog dev and prod routers
 * @extends {Error}
 * @since 0.1.0
 */
class CeallogError extends Error {
	/**
	 * @desc Calls parent constructor, resets name, adds errorType, and captures
	 * stack trace.
	 * @param {string} message Error message
	 * @param {string} errorType Error type
	 * @since 0.1.0
	 */
	constructor(message, errorType) {
		super(message);

		/**
		 * @type {string}
		 */
		this.errorType = errorType;
		/**
		 * @type {string}
		 */
		this.name = this.constructor.name;

		Error.captureStackTrace(this, this.constructor);
	}
}

module.exports = CeallogError;