base Json::Exception

This commit is contained in:
Christopher Dunn 2015-03-08 12:20:06 -05:00
parent 717b08695e
commit 75279ccec2
2 changed files with 25 additions and 0 deletions

View File

@ -11,6 +11,7 @@
#endif // if !defined(JSON_IS_AMALGAMATION)
#include <string>
#include <vector>
#include <exception>
#ifndef JSON_USE_CPPTL_SMALLMAP
#include <map>
@ -32,6 +33,18 @@
*/
namespace Json {
/** Base class for all exceptions we throw.
*/
class Exception : public std::exception {
public:
Exception(std::string const& msg);
virtual ~Exception() throw();
virtual char const* what() const throw();
protected:
std::string const& msg_;
void* future_use_;
};
/** \brief Type of the value held by a Value object.
*/
enum ValueType {

View File

@ -152,6 +152,18 @@ static inline void releaseStringValue(char* value) { free(value); }
namespace Json {
Exception::Exception(std::string const& msg)
: msg_(msg)
, future_use_(NULL)
{
}
Exception::~Exception() throw()
{}
char const* Exception::what() const throw()
{
return msg_.c_str();
}
// //////////////////////////////////////////////////////////////////
// //////////////////////////////////////////////////////////////////
// //////////////////////////////////////////////////////////////////