X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fexcept.h;h=a58b3ca9c0c9480b14560a36a160aa247be42542;hb=6a38983c19fe78753962288e206c5817ad595448;hp=bf7c526c378695d353098ef694311ff8231226cc;hpb=cfc8e0b7b15ea505bd6a6a9599cbc5ce1e316963;p=libs%2Fcore.git diff --git a/source/core/except.h b/source/core/except.h index bf7c526..a58b3ca 100644 --- a/source/core/except.h +++ b/source/core/except.h @@ -77,7 +77,7 @@ private: bool brief; public: - UsageError(const std::string &r, bool b=true): Exception(r), brief(b) { } + UsageError(const std::string &r, bool b = true): Exception(r), brief(b) { } bool get_brief() const { return brief; } }; @@ -97,6 +97,15 @@ private: static std::string build_what(const std::string &, int); }; +/** +Thrown when "impossible" things happen. +*/ +class LogicError: public Exception +{ +public: + LogicError(const std::string &w_): Exception(w_) { } +}; + template void throw_at(E e, const std::string &a) { e.at(a); throw e; }