Commit 1e20887c by Théo DELRIEU

use JSON_THROW

parent 447c6a67
...@@ -513,7 +513,7 @@ void get_arithmetic_value(const Json& j, ArithmeticType& val) ...@@ -513,7 +513,7 @@ void get_arithmetic_value(const Json& j, ArithmeticType& val)
} }
else else
{ {
throw std::domain_error("type must be number, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be number, but is " + type_name(j)));
} }
} }
...@@ -592,7 +592,7 @@ void from_json(const Json& j, typename Json::boolean_t& b) ...@@ -592,7 +592,7 @@ void from_json(const Json& j, typename Json::boolean_t& b)
{ {
if (!j.is_boolean()) if (!j.is_boolean())
{ {
throw std::domain_error("type must be boolean, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be boolean, but is " + type_name(j)));
} }
b = *j.template get_ptr<const typename Json::boolean_t*>(); b = *j.template get_ptr<const typename Json::boolean_t*>();
} }
...@@ -602,7 +602,7 @@ void from_json(const Json& j, typename Json::string_t& s) ...@@ -602,7 +602,7 @@ void from_json(const Json& j, typename Json::string_t& s)
{ {
if (!j.is_string()) if (!j.is_string())
{ {
throw std::domain_error("type must be string, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be string, but is " + type_name(j)));
} }
s = *j.template get_ptr<const typename Json::string_t*>(); s = *j.template get_ptr<const typename Json::string_t*>();
} }
...@@ -639,7 +639,7 @@ void from_json(const Json& j, typename Json::array_t& arr) ...@@ -639,7 +639,7 @@ void from_json(const Json& j, typename Json::array_t& arr)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
arr = *j.template get_ptr<const typename Json::array_t*>(); arr = *j.template get_ptr<const typename Json::array_t*>();
} }
...@@ -652,13 +652,13 @@ void from_json(const Json& j, std::forward_list<T, Allocator>& l) ...@@ -652,13 +652,13 @@ void from_json(const Json& j, std::forward_list<T, Allocator>& l)
// (except when it's null.. ?) // (except when it's null.. ?)
if (j.is_null()) if (j.is_null())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
if (not std::is_same<T, Json>::value) if (not std::is_same<T, Json>::value)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
} }
for (auto it = j.rbegin(), end = j.rend(); it != end; ++it) for (auto it = j.rbegin(), end = j.rend(); it != end; ++it)
...@@ -711,14 +711,14 @@ void from_json(const Json& j, CompatibleArrayType& arr) ...@@ -711,14 +711,14 @@ void from_json(const Json& j, CompatibleArrayType& arr)
{ {
if (j.is_null()) if (j.is_null())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
// when T == Json, do not check if value_t is correct // when T == Json, do not check if value_t is correct
if (not std::is_same<typename CompatibleArrayType::value_type, Json>::value) if (not std::is_same<typename CompatibleArrayType::value_type, Json>::value)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
} }
from_json_array_impl(j, arr, priority_tag<1> {}); from_json_array_impl(j, arr, priority_tag<1> {});
...@@ -733,7 +733,7 @@ void from_json(const Json& j, CompatibleObjectType& obj) ...@@ -733,7 +733,7 @@ void from_json(const Json& j, CompatibleObjectType& obj)
{ {
if (!j.is_object()) if (!j.is_object())
{ {
throw std::domain_error("type must be object, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be object, but is " + type_name(j)));
} }
auto inner_object = j.template get_ptr<const typename Json::object_t*>(); auto inner_object = j.template get_ptr<const typename Json::object_t*>();
...@@ -777,7 +777,7 @@ void from_json(const Json& j, ArithmeticType& val) ...@@ -777,7 +777,7 @@ void from_json(const Json& j, ArithmeticType& val)
} }
else else
{ {
throw std::domain_error("type must be number, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be number, but is " + type_name(j)));
} }
} }
......
...@@ -513,7 +513,7 @@ void get_arithmetic_value(const Json& j, ArithmeticType& val) ...@@ -513,7 +513,7 @@ void get_arithmetic_value(const Json& j, ArithmeticType& val)
} }
else else
{ {
throw std::domain_error("type must be number, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be number, but is " + type_name(j)));
} }
} }
...@@ -592,7 +592,7 @@ void from_json(const Json& j, typename Json::boolean_t& b) ...@@ -592,7 +592,7 @@ void from_json(const Json& j, typename Json::boolean_t& b)
{ {
if (!j.is_boolean()) if (!j.is_boolean())
{ {
throw std::domain_error("type must be boolean, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be boolean, but is " + type_name(j)));
} }
b = *j.template get_ptr<const typename Json::boolean_t*>(); b = *j.template get_ptr<const typename Json::boolean_t*>();
} }
...@@ -602,7 +602,7 @@ void from_json(const Json& j, typename Json::string_t& s) ...@@ -602,7 +602,7 @@ void from_json(const Json& j, typename Json::string_t& s)
{ {
if (!j.is_string()) if (!j.is_string())
{ {
throw std::domain_error("type must be string, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be string, but is " + type_name(j)));
} }
s = *j.template get_ptr<const typename Json::string_t*>(); s = *j.template get_ptr<const typename Json::string_t*>();
} }
...@@ -639,7 +639,7 @@ void from_json(const Json& j, typename Json::array_t& arr) ...@@ -639,7 +639,7 @@ void from_json(const Json& j, typename Json::array_t& arr)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
arr = *j.template get_ptr<const typename Json::array_t*>(); arr = *j.template get_ptr<const typename Json::array_t*>();
} }
...@@ -652,13 +652,13 @@ void from_json(const Json& j, std::forward_list<T, Allocator>& l) ...@@ -652,13 +652,13 @@ void from_json(const Json& j, std::forward_list<T, Allocator>& l)
// (except when it's null.. ?) // (except when it's null.. ?)
if (j.is_null()) if (j.is_null())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
if (not std::is_same<T, Json>::value) if (not std::is_same<T, Json>::value)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
} }
for (auto it = j.rbegin(), end = j.rend(); it != end; ++it) for (auto it = j.rbegin(), end = j.rend(); it != end; ++it)
...@@ -711,14 +711,14 @@ void from_json(const Json& j, CompatibleArrayType& arr) ...@@ -711,14 +711,14 @@ void from_json(const Json& j, CompatibleArrayType& arr)
{ {
if (j.is_null()) if (j.is_null())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
// when T == Json, do not check if value_t is correct // when T == Json, do not check if value_t is correct
if (not std::is_same<typename CompatibleArrayType::value_type, Json>::value) if (not std::is_same<typename CompatibleArrayType::value_type, Json>::value)
{ {
if (!j.is_array()) if (!j.is_array())
{ {
throw std::domain_error("type must be array, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be array, but is " + type_name(j)));
} }
} }
from_json_array_impl(j, arr, priority_tag<1> {}); from_json_array_impl(j, arr, priority_tag<1> {});
...@@ -733,7 +733,7 @@ void from_json(const Json& j, CompatibleObjectType& obj) ...@@ -733,7 +733,7 @@ void from_json(const Json& j, CompatibleObjectType& obj)
{ {
if (!j.is_object()) if (!j.is_object())
{ {
throw std::domain_error("type must be object, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be object, but is " + type_name(j)));
} }
auto inner_object = j.template get_ptr<const typename Json::object_t*>(); auto inner_object = j.template get_ptr<const typename Json::object_t*>();
...@@ -777,7 +777,7 @@ void from_json(const Json& j, ArithmeticType& val) ...@@ -777,7 +777,7 @@ void from_json(const Json& j, ArithmeticType& val)
} }
else else
{ {
throw std::domain_error("type must be number, but is " + type_name(j)); JSON_THROW(std::domain_error("type must be number, but is " + type_name(j)));
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment