userver
C++ Async Framework
Documentation
API Groups
Namespaces
Reference
Class List
Class Index
File List
Macros
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
Toggle main menu visibility
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
All results
exceptions.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/ugrpc/server/exceptions.hpp
4
/// @brief Errors thrown by gRPC server streams
5
6
#
include
<
exception
>
7
#
include
<
string
>
8
#
include
<
string_view
>
9
10
#
include
<
grpcpp
/
support
/
status
.
h
>
11
#
include
<
grpcpp
/
support
/
status_code_enum
.
h
>
12
13
USERVER_NAMESPACE_BEGIN
14
15
/// Server-side utilities
16
namespace
ugrpc::server {
17
18
/// @brief Base exception for all the server errors
19
class
BaseError
:
public
std::exception {
20
public
:
21
explicit
BaseError(std::string message);
22
23
const
char
* what()
const
noexcept
override
;
24
25
private
:
26
std::string message_;
27
};
19
class
BaseError
:
public
std::exception {
…
};
28
29
/// @brief Error during an RPC
30
class
RpcError
:
public
BaseError
{
31
public
:
32
RpcError(std::string_view call_name, std::string_view additional_info);
33
};
30
class
RpcError
:
public
BaseError
{
…
};
34
35
/// @brief RPC failed without a status. This means that either the call got
36
/// cancelled using `TryCancel`, the deadline has expired, or the client
37
/// disconnected.
38
class
RpcInterruptedError
:
public
RpcError
{
39
public
:
40
RpcInterruptedError(std::string_view call_name, std::string_view stage);
41
};
38
class
RpcInterruptedError
:
public
RpcError
{
…
};
42
43
/// @brief Users can throw ErrorWithStatus in their
44
/// RPC's implementation to return provided status code as a result.
45
class
ErrorWithStatus
:
public
BaseError
{
46
public
:
47
explicit
ErrorWithStatus(grpc::Status status);
48
49
ErrorWithStatus(grpc::StatusCode status_code, std::string message);
50
51
const
grpc::Status& GetStatus()
const
;
52
53
grpc::Status&& ExtractStatus();
54
55
private
:
56
grpc::Status status_;
57
};
45
class
ErrorWithStatus
:
public
BaseError
{
…
};
58
59
}
// namespace ugrpc::server
60
61
USERVER_NAMESPACE_END
Docs version:
v1.0
,
v2.0
,
trunk/develop
userver
ugrpc
server
exceptions.hpp
Generated on Thu Jun 19 2025 12:37:53 for userver by
Doxygen
1.13.2