userver: userver/storages/redis/impl/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/impl/exception.hpp
4/// @brief redis-specific exceptions
5
6#include <stdexcept>
7#include <string_view>
8
9#include <userver/storages/redis/impl/reply_status.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace redis {
14
15/// Generic redis-related exception
16class Exception : public std::runtime_error {
17 public:
18 using std::runtime_error::runtime_error;
19};
20
21/// Invalid redis command argument
23 public:
24 using Exception::Exception;
25};
26
27/// Request execution failed
29 public:
30 RequestFailedException(const std::string& request_description,
31 ReplyStatus status);
32
33 ReplyStatus GetStatus() const;
34 std::string_view GetStatusString() const;
35
36 bool IsTimeout() const;
37
38 private:
39 ReplyStatus status_;
40};
41
42/// Request was cancelled
44 public:
45 using Exception::Exception;
46};
47
48/// Invalid reply data format
50 public:
51 using Exception::Exception;
52};
53
54/// Invalid config format
56 public:
57 using Exception::Exception;
58};
59
60/// Cannot connect to some redis server shard
62 public:
63 using Exception::Exception;
64};
65
66} // namespace redis
67
68USERVER_NAMESPACE_END