mirror of
https://github.com/red0124/ssp.git
synced 2025-01-23 13:05:20 +01:00
31 lines
511 B
C++
31 lines
511 B
C++
#pragma once
|
|
#include <exception>
|
|
#include <string>
|
|
|
|
namespace ss {
|
|
|
|
////////////////
|
|
// exception
|
|
////////////////
|
|
|
|
class exception : public std::exception {
|
|
std::string msg_;
|
|
|
|
public:
|
|
exception(const std::string& msg): msg_{msg} {
|
|
}
|
|
|
|
virtual char const* what() const noexcept {
|
|
return msg_.c_str();
|
|
}
|
|
};
|
|
|
|
template <bool throw_on_error>
|
|
void throw_if_throw_on_error(const std::string& msg) {
|
|
if constexpr (throw_on_error) {
|
|
throw ss::exception(msg);
|
|
}
|
|
}
|
|
|
|
} /* ss */
|