#ifndef CJSONEXCEPTION_HPP
#define CJSONEXCEPTION_HPP

#include "CException.hpp"

#include <exception>
#include <string>

/**
 * @file CJsonException.hpp
 * @brief File of CJsonException, a class to handle program json parse/handle exception.
 */

 /**
  * @def JSON_EXC_CODE default code for this kind of Exception.
  */
#define JSON_EXC_CODE 5

  /**
   * @brief Class to handle program file exception.
   */
class CJsonException : public CException {

private:

public:
	/**
	 * @brief The default constructor, build a exception with default message : "A json error occurred" and the code JSON_EXC_CODE.
	 */
	CJsonException(void) noexcept;

	/**
	 * @brief The usage constructor, build a exception with a given message and the code JSON_EXC_CODE.
	 * @param[in] message The wanted message.
	 */
	CJsonException(const std::string message) noexcept;

};

#endif