#ifndef CFILEEXCEPTION_HPP
#define CFILEEXCEPTION_HPP

#include "CException.hpp"

#include <exception>
#include <string>

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

/**
 * @def FILE_EXC_CODE default code for this kind of Exception.
 */
#define FILE_EXC_CODE 4

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

private:

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

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

};

#endif