#ifndef CEXCEPTIONMANAGER_HPP
#define CEXCEPTIONMANAGER_HPP

#include "CException.hpp"
#include "../File/CFileManager.hpp"

#include <cstdlib>
#include <SDL.h>

/**
 * @file CExceptionManager.hpp
 * @brief File contain some function to handle program exception.
 */

/**
 * @def DEFAULT_PATH default path for crash-report file.
 */
#define DEFAULT_REPORT_PATH "../exception-report.txt"

/**
 * @brief Simple function to handle program exception
 * @param[in] e The Exception instance to hanlde.
 * @param[in] fatal A flag to make this Exception as fatal, so the program will quit.
 */
void HandleException(const CException& e, bool fatal);

#endif