cpp-msgpack-rpc
0.2.0
An RPC library implementing MessagePack RPC.
Toggle main menu visibility
Loading...
Searching...
No Matches
msgpack_rpc_exception.h
Go to the documentation of this file.
1
/*
2
* Copyright 2023 MusicScience37 (Kenta Kabashima)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
20
#pragma once
21
22
#include <stdexcept>
23
#include <string_view>
24
25
#include "
msgpack_rpc/common/status.h
"
26
#include "
msgpack_rpc/common/status_code.h
"
27
#include "msgpack_rpc/impl/msgpack_rpc_export.h"
28
29
namespace
msgpack_rpc
{
30
inline
namespace
common
{
31
35
class
MSGPACK_RPC_EXPORT
MsgpackRPCException
:
public
std::runtime_error {
36
public
:
37
// Exceptions must be exported in libraries. If not exported, exceptions
38
// cannot be caught correctly.
39
45
explicit
MsgpackRPCException
(
Status
status
);
46
53
MsgpackRPCException
(
StatusCode
code, std::string_view message);
54
60
[[nodiscard]]
const
Status
&
status
()
const
noexcept
;
61
65
MsgpackRPCException
(
const
MsgpackRPCException
&)
noexcept
;
66
70
MsgpackRPCException
(
MsgpackRPCException
&&) noexcept;
71
77
MsgpackRPCException
& operator=(const
MsgpackRPCException
&) noexcept;
78
84
MsgpackRPCException
& operator=(
MsgpackRPCException
&&) noexcept;
85
89
~
MsgpackRPCException
() override;
90
91
private:
93
Status
status_
;
94
};
95
96
}
// namespace common
97
}
// namespace msgpack_rpc
msgpack_rpc::common::MsgpackRPCException::MsgpackRPCException
MsgpackRPCException(Status status)
Constructor.
Definition
msgpack_rpc_exception.cpp:27
msgpack_rpc::common::MsgpackRPCException::status
const Status & status() const noexcept
Get the status.
Definition
msgpack_rpc_exception.cpp:34
msgpack_rpc::common::MsgpackRPCException::MsgpackRPCException
MsgpackRPCException(MsgpackRPCException &&) noexcept
Move constructor.
msgpack_rpc::common::MsgpackRPCException::MsgpackRPCException
MsgpackRPCException(const MsgpackRPCException &) noexcept
Copy constructor.
msgpack_rpc::common::MsgpackRPCException::status_
Status status_
Error.
Definition
msgpack_rpc_exception.h:93
msgpack_rpc::common::Status
Class of statuses.
Definition
status.h:34
msgpack_rpc::common
Namespace of common classes and functions.
Definition
msgpack_rpc_exception.h:30
msgpack_rpc::common::StatusCode
StatusCode
Enumeration of status codes.
Definition
status_code.h:33
msgpack_rpc
Namespace of cpp-msgpack-rpc library.
Definition
i_address.h:26
status.h
Definition of Status class.
status_code.h
Definition of StatusCode enumeration.
include
msgpack_rpc
common
msgpack_rpc_exception.h
Generated on
for cpp-msgpack-rpc by
1.18.0