🔨 added user-defined exception 311
This commit is contained in:
parent
6751d650be
commit
491c9780a7
3 changed files with 8 additions and 7 deletions
|
@ -5607,7 +5607,7 @@ class basic_json
|
||||||
already-existing element if no insertion happened, and a bool
|
already-existing element if no insertion happened, and a bool
|
||||||
denoting whether the insertion took place.
|
denoting whether the insertion took place.
|
||||||
|
|
||||||
@throw std::domain_error when called on a type other than JSON object or
|
@throw type_error.311 when called on a type other than JSON object or
|
||||||
null; example: `"cannot use emplace() with number"`
|
null; example: `"cannot use emplace() with number"`
|
||||||
|
|
||||||
@complexity Logarithmic in the size of the container, O(log(`size()`)).
|
@complexity Logarithmic in the size of the container, O(log(`size()`)).
|
||||||
|
@ -5625,7 +5625,7 @@ class basic_json
|
||||||
// emplace only works for null objects or arrays
|
// emplace only works for null objects or arrays
|
||||||
if (not(is_null() or is_object()))
|
if (not(is_null() or is_object()))
|
||||||
{
|
{
|
||||||
JSON_THROW(std::domain_error("cannot use emplace() with " + type_name()));
|
JSON_THROW(type_error(311, "cannot use emplace() with " + type_name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// transform null object into an object
|
// transform null object into an object
|
||||||
|
|
|
@ -5607,7 +5607,7 @@ class basic_json
|
||||||
already-existing element if no insertion happened, and a bool
|
already-existing element if no insertion happened, and a bool
|
||||||
denoting whether the insertion took place.
|
denoting whether the insertion took place.
|
||||||
|
|
||||||
@throw std::domain_error when called on a type other than JSON object or
|
@throw type_error.311 when called on a type other than JSON object or
|
||||||
null; example: `"cannot use emplace() with number"`
|
null; example: `"cannot use emplace() with number"`
|
||||||
|
|
||||||
@complexity Logarithmic in the size of the container, O(log(`size()`)).
|
@complexity Logarithmic in the size of the container, O(log(`size()`)).
|
||||||
|
@ -5625,7 +5625,7 @@ class basic_json
|
||||||
// emplace only works for null objects or arrays
|
// emplace only works for null objects or arrays
|
||||||
if (not(is_null() or is_object()))
|
if (not(is_null() or is_object()))
|
||||||
{
|
{
|
||||||
JSON_THROW(std::domain_error("cannot use emplace() with " + type_name()));
|
JSON_THROW(type_error(311, "cannot use emplace() with " + type_name()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// transform null object into an object
|
// transform null object into an object
|
||||||
|
|
|
@ -351,8 +351,9 @@ TEST_CASE("modifiers")
|
||||||
SECTION("other type")
|
SECTION("other type")
|
||||||
{
|
{
|
||||||
json j = 1;
|
json j = 1;
|
||||||
CHECK_THROWS_AS(j.emplace("foo", "bar"), std::domain_error);
|
CHECK_THROWS_AS(j.emplace("foo", "bar"), json::type_error);
|
||||||
CHECK_THROWS_WITH(j.emplace("foo", "bar"), "cannot use emplace() with number");
|
CHECK_THROWS_WITH(j.emplace("foo", "bar"),
|
||||||
|
"[json.exception.type_error.311] cannot use emplace() with number");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue