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 {
18public:
19 ParseError(size_t pos, std::string_view path, std::string what)
20 : BaseError(fmt::format("Parse error at pos {}, path '{}': {}", pos, path, what)) {}
21};
22
23class InternalParseError : public BaseError {
24 using BaseError::BaseError;
25};
26
27} // namespace formats::json::parser
28
29USERVER_NAMESPACE_END