unittest.h: simplify AssertException
Some compilers warn about the missing initialisation of the std::exception base class of the AssertException helper. The simplest solution is to inherit from std::logic_error instead, which provides all of the required functionality already.
This commit is contained in:
parent
ffed1d67c1
commit
a2a0d16167
@ -89,15 +89,9 @@ inline FILE* TempFile(char *filename) {
|
|||||||
#pragma warning(disable : 4127)
|
#pragma warning(disable : 4127)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class AssertException : public std::exception {
|
class AssertException : public std::logic_error {
|
||||||
public:
|
public:
|
||||||
AssertException(const char* w) : what_(w) {}
|
AssertException(const char* w) : std::logic_error(w) {}
|
||||||
AssertException(const AssertException& other) : what_(other.what_) {}
|
|
||||||
AssertException& operator=(const AssertException& rhs) { what_ = rhs.what_; return *this; }
|
|
||||||
virtual const char* what() const throw() { return what_; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
const char* what_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define RAPIDJSON_ASSERT(x) if (!(x)) throw AssertException(RAPIDJSON_STRINGIFY(x))
|
#define RAPIDJSON_ASSERT(x) if (!(x)) throw AssertException(RAPIDJSON_STRINGIFY(x))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user