12USERVER_NAMESPACE_BEGIN
14namespace formats::
json {
18 explicit Exception(std::string msg) : msg_(std::move(msg)) {}
20 const char* what()
const noexcept final {
return msg_.c_str(); }
33 explicit BadStreamException(
const std::istream& is);
34 explicit BadStreamException(
const std::ostream& os);
39 TypeMismatchException(
int actual,
int expected,
const std::string& path);
40 std::string_view GetActual()
const;
41 std::string_view GetExpected()
const;
42 const std::string& GetPath()
const noexcept;
52 OutOfBoundsException(size_t index, size_t size,
const std::string& path);
53 const std::string& GetPath()
const noexcept;
61 explicit MemberMissingException(
const std::string& path);
72 UnknownDiscriminatorException(
const std::string& path,
73 std::string_view discriminator_field);