mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-10-23 00:07:58 +02:00
Runtime/LogicError and throwers
This commit is contained in:
@@ -152,17 +152,46 @@ static inline void releaseStringValue(char* value) { free(value); }
|
||||
|
||||
namespace Json {
|
||||
|
||||
class JSON_API Exception : public std::exception {
|
||||
public:
|
||||
Exception(std::string const& msg);
|
||||
virtual ~Exception() throw();
|
||||
virtual char const* what() const throw();
|
||||
protected:
|
||||
std::string const& msg_;
|
||||
};
|
||||
class JSON_API RuntimeError : public Exception {
|
||||
public:
|
||||
RuntimeError(std::string const& msg);
|
||||
};
|
||||
class JSON_API LogicError : public Exception {
|
||||
public:
|
||||
LogicError(std::string const& msg);
|
||||
};
|
||||
|
||||
Exception::Exception(std::string const& msg)
|
||||
: msg_(msg)
|
||||
, future_use_(NULL)
|
||||
{
|
||||
}
|
||||
{}
|
||||
Exception::~Exception() throw()
|
||||
{}
|
||||
char const* Exception::what() const throw()
|
||||
{
|
||||
return msg_.c_str();
|
||||
}
|
||||
RuntimeError::RuntimeError(std::string const& msg)
|
||||
: Exception(msg)
|
||||
{}
|
||||
LogicError::LogicError(std::string const& msg)
|
||||
: Exception(msg)
|
||||
{}
|
||||
void throwRuntimeError(std::string const& msg)
|
||||
{
|
||||
throw RuntimeError(msg);
|
||||
}
|
||||
void throwLogicError(std::string const& msg)
|
||||
{
|
||||
throw LogicError(msg);
|
||||
}
|
||||
|
||||
// //////////////////////////////////////////////////////////////////
|
||||
// //////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user