2024-03-14 12:12:34 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <stdexcept>
|
2024-05-08 16:50:39 -04:00
|
|
|
#include <string>
|
2024-03-14 12:12:34 +01:00
|
|
|
|
2024-06-30 15:49:45 -04:00
|
|
|
#define satdump_exception(arg) satdump::satdump_exception_t(arg, __FILE__, __LINE__)
|
2024-03-14 12:12:34 +01:00
|
|
|
|
|
|
|
|
namespace satdump
|
|
|
|
|
{
|
|
|
|
|
class satdump_exception_t : public std::runtime_error
|
|
|
|
|
{
|
|
|
|
|
std::string msg;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
satdump_exception_t(const std::string &arg, const char *file, int line) : std::runtime_error(arg)
|
|
|
|
|
{
|
2024-06-30 15:49:45 -04:00
|
|
|
msg = arg + " => " + std::string(file).substr(SOURCE_PATH_SIZE) + ":" + std::to_string(line);
|
2024-03-14 12:12:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
~satdump_exception_t() throw()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char *what() const throw()
|
|
|
|
|
{
|
|
|
|
|
return msg.c_str();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|