All files for the Release are now isolated

This commit is contained in:
Marko Budiselic
2016-08-10 09:39:02 +01:00
parent 95aa385e31
commit 869da8dcda
228 changed files with 672 additions and 475 deletions

View File

@@ -0,0 +1,37 @@
#pragma once
#include <stdexcept>
#include <fmt/format.h>
#include "utils/auto_scope.hpp"
#include "utils/stacktrace.hpp"
class BasicException : public std::exception
{
public:
BasicException(const std::string& message) noexcept : message(message)
{
#ifndef NDEBUG
this->message += '\n';
Stacktrace stacktrace;
for(auto& line : stacktrace)
this->message += fmt::format(" at {} ({})\n",
line.function, line.location);
#endif
}
template <class... Args>
BasicException(const std::string& format, Args&&... args) noexcept
: BasicException(fmt::format(format, std::forward<Args>(args)...)) {}
const char* what() const noexcept override
{
return message.c_str();
}
private:
std::string message;
};