🔨 added user-defined exceptions 301

上级 0c40c8e3
......@@ -2223,8 +2223,8 @@ class basic_json
value_t::array and @ref value_t::object are valid); when @a type_deduction
is set to `true`, this parameter has no effect
@throw std::domain_error if @a type_deduction is `false`, @a manual_type
is `value_t::object`, but @a init contains an element which is not a pair
@throw type_error.301 if @a type_deduction is `false`, @a manual_type is
`value_t::object`, but @a init contains an element which is not a pair
whose first element is a string; example: `"cannot create object from
initializer list"`
......@@ -2264,7 +2264,7 @@ class basic_json
// if object is wanted but impossible, throw an exception
if (manual_type == value_t::object and not is_an_object)
{
JSON_THROW(std::domain_error("cannot create object from initializer list"));
JSON_THROW(type_error(301, "cannot create object from initializer list"));
}
}
......@@ -2347,7 +2347,7 @@ class basic_json
@return JSON object value
@throw std::domain_error if @a init is not a pair whose first elements are
@throw type_error.301 if @a init is not a pair whose first elements are
strings; thrown by
@ref basic_json(std::initializer_list<basic_json>, bool, value_t)
......
......@@ -2223,8 +2223,8 @@ class basic_json
value_t::array and @ref value_t::object are valid); when @a type_deduction
is set to `true`, this parameter has no effect
@throw std::domain_error if @a type_deduction is `false`, @a manual_type
is `value_t::object`, but @a init contains an element which is not a pair
@throw type_error.301 if @a type_deduction is `false`, @a manual_type is
`value_t::object`, but @a init contains an element which is not a pair
whose first element is a string; example: `"cannot create object from
initializer list"`
......@@ -2264,7 +2264,7 @@ class basic_json
// if object is wanted but impossible, throw an exception
if (manual_type == value_t::object and not is_an_object)
{
JSON_THROW(std::domain_error("cannot create object from initializer list"));
JSON_THROW(type_error(301, "cannot create object from initializer list"));
}
}
......@@ -2347,7 +2347,7 @@ class basic_json
@return JSON object value
@throw std::domain_error if @a init is not a pair whose first elements are
@throw type_error.301 if @a init is not a pair whose first elements are
strings; thrown by
@ref basic_json(std::initializer_list<basic_json>, bool, value_t)
......
......@@ -943,9 +943,9 @@ TEST_CASE("constructors")
SECTION("object with error")
{
CHECK_THROWS_AS(json::object({ {"one", 1}, {"two", 1u}, {"three", 2.2}, {"four", false}, 13 }),
std::logic_error);
json::type_error);
CHECK_THROWS_WITH(json::object({ {"one", 1}, {"two", 1u}, {"three", 2.2}, {"four", false}, 13 }),
"cannot create object from initializer list");
"[json.exception.type_error.301] cannot create object from initializer list");
}
SECTION("empty array")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册