Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
error.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/*
3
* Copyright 2024. Couchbase, Inc.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#pragma once
19
20
#include <
couchbase/error_context.hxx
>
21
#include <
couchbase/node_id.hxx
>
22
23
#include <memory>
24
#include <optional>
25
#include <string>
26
#include <system_error>
27
28
namespace
couchbase
29
{
30
class
error
31
{
32
public
:
33
error
() =
default
;
34
error
(std::error_code
ec
, std::string
message
= {},
error_context
ctx
= {});
35
42
error
(std::error_code
ec
, std::string
message
,
error_context
ctx
,
error
cause
);
43
52
error
(std::error_code
ec
, std::string
message
,
error_context
ctx
,
couchbase::node_id
node_id
);
53
64
error
(std::error_code
ec
,
65
std::string
message
,
66
error_context
ctx
,
67
error
cause
,
68
couchbase::node_id
node_id
);
69
70
[[nodiscard]]
auto
ec
() const -> std::error_code;
71
[[nodiscard]] auto
message
() const -> const std::
string
&;
72
[[nodiscard]] auto
ctx
() const -> const
error_context
&;
73
[[nodiscard]] auto
cause
() const -> std::optional<
error
>;
74
86
[[nodiscard]] auto
node_id
() const -> const
couchbase
::
node_id
&;
87
88
explicit operator
bool
() const;
89
auto operator==(const
error
& other) const ->
bool
;
90
91
private:
92
std::error_code ec_{};
93
std::string message_{};
94
error_context ctx_{};
95
std::shared_ptr<error> cause_{};
96
couchbase::node_id node_id_{};
97
};
98
99
}
// namespace couchbase
couchbase::error_context
Definition
error_context.hxx:33
couchbase::error::error
error(std::error_code ec, std::string message, error_context ctx, couchbase::node_id node_id)
Constructs an error carrying the identity of the cluster node that returned it.
couchbase::error::ctx
auto ctx() const -> const error_context &
couchbase::error::cause
auto cause() const -> std::optional< error >
couchbase::error::ec
auto ec() const -> std::error_code
couchbase::error::error
error()=default
couchbase::error::error
error(std::error_code ec, std::string message, error_context ctx, error cause, couchbase::node_id node_id)
Constructs an error that both wraps an underlying cause and carries the identity of the cluster node ...
couchbase::error::message
auto message() const -> const std::string &
couchbase::error::error
error(std::error_code ec, std::string message, error_context ctx, error cause)
Constructs an error that wraps another error as its underlying cause.
couchbase::error::error
error(std::error_code ec, std::string message={}, error_context ctx={})
couchbase::error::node_id
auto node_id() const -> const couchbase::node_id &
Returns the identity of the cluster node where the error occurred.
couchbase::node_id
Identifies a cluster node.
Definition
node_id.hxx:40
error_context.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
node_id.hxx
couchbase
error.hxx
Generated by
1.17.0