userver: userver/formats/json/parser/exception.hpp Source File
Loading...
Searching...
No Matches
exception.hpp
1#pragma once
2
3#include <stdexcept>
4
5#include <fmt/format.h>
6
7#include <userver/formats/json/exception.hpp>
8
9USERVER_NAMESPACE_BEGIN
10
11namespace formats::json::parser {
12
13class BaseError : public formats::json::Exception {
14 using Exception::Exception;
15};
16
17class ParseError : public BaseError {
18 public:
19 ParseError(size_t pos, std::string_view path, std::string what)
20 : BaseError(fmt::format("Parse error at pos {}, path '{}': {}", pos, path,
21 what)) {}
22};
23
24class InternalParseError : public BaseError {
25 using BaseError::BaseError;
26};
27
28} // namespace formats::json::parser
29
30USERVER_NAMESPACE_END