userver: userver/storages/redis/impl/exception.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
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