37 lines
693 B
C
37 lines
693 B
C
|
#ifndef ASSERT_H
|
||
|
#define ASSERT_H
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
|
||
|
class AtlasException : public std::exception {
|
||
|
|
||
|
const std::string fileName;
|
||
|
const int fileLine;
|
||
|
|
||
|
const std::string message;
|
||
|
|
||
|
protected:
|
||
|
virtual void buildString(std::ostream& stream) const;
|
||
|
std::string fullMessage;
|
||
|
|
||
|
public:
|
||
|
explicit AtlasException(const std::string& file, int line,
|
||
|
const std::string& msg);
|
||
|
|
||
|
virtual ~AtlasException() {
|
||
|
}
|
||
|
|
||
|
virtual std::string buildMessage() const;
|
||
|
|
||
|
virtual std::string toString() const {
|
||
|
return fullMessage;
|
||
|
}
|
||
|
|
||
|
virtual const char* what() const noexcept {
|
||
|
return fullMessage.c_str();
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif // ASSERT_H
|