userver: userver/storages/redis/exception.hpp Source File
Loading...
Searching...
No Matches
exception.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/storages/redis/exception.hpp
4/// @brief redis-specific exceptions
5
6#include <stdexcept>
7#include <string_view>
8
9#include <userver/storages/redis/reply_status.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace redis {
14
15/// Generic redis-related exception
16class Exception : public std::runtime_error {
17public:
18 using std::runtime_error::runtime_error;
19};
20
21/// Invalid redis command argument
23public:
24 using Exception::Exception;
25};
26
27/// Request execution failed
29public:
30 RequestFailedException(const std::string& request_description, ReplyStatus status);
31
32 ReplyStatus GetStatus() const;
33 std::string_view GetStatusString() const;
34
35 bool IsTimeout() const;
36
37private:
38 ReplyStatus status_;
39};
40
41/// Request was cancelled
43public:
44 using Exception::Exception;
45};
46
47/// Invalid reply data format
49public:
50 using Exception::Exception;
51};
52
53/// Invalid config format
55public:
56 using Exception::Exception;
57};
58
59/// Cannot connect to some redis server shard
61public:
62 using Exception::Exception;
63};
64
65} // namespace redis
66
67USERVER_NAMESPACE_END