userver
C++ Async Framework
Loading...
Searching...
No Matches
error.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/compression/error.hpp
4
/// @brief Decompression errors
5
/// @ingroup userver_universal
6
7
#
include
<
stdexcept
>
8
9
#
include
<
fmt
/
format
.
h
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
/// @brief Compression and decompression utilities and errors.
14
namespace
compression
{
15
16
/// Base class for decompression errors
17
class
DecompressionError
:
public
std::runtime_error {
18
public
:
19
using
std::runtime_error::runtime_error;
20
21
DecompressionError(
const
DecompressionError
&) =
default
;
22
DecompressionError(
DecompressionError
&&) =
default
;
23
DecompressionError
& operator=(
const
DecompressionError
&) =
default
;
24
DecompressionError
& operator=(
DecompressionError
&&) =
default
;
25
26
~DecompressionError() override;
27
};
28
29
/// Decompressed data size exceeds the limit
30
class
TooBigError
:
public
DecompressionError
{
31
public
:
32
TooBigError()
33
:
DecompressionError
(
"Decompressed data exceeds the limit"
)
34
{}
35
36
TooBigError(
const
TooBigError
&) =
default
;
37
TooBigError(
TooBigError
&&) =
default
;
38
TooBigError
& operator=(
const
TooBigError
&) =
default
;
39
TooBigError
& operator=(
TooBigError
&&) =
default
;
40
41
~TooBigError() override;
42
};
43
44
class
ErrWithCode
:
public
DecompressionError
{
45
public
:
46
explicit
ErrWithCode(
const
char
* err_name)
47
:
DecompressionError
(fmt::format(
"Decompression failed: {}"
, err_name))
48
{}
49
50
ErrWithCode(
const
ErrWithCode
&) =
default
;
51
ErrWithCode(
ErrWithCode
&&) =
default
;
52
ErrWithCode
& operator=(
const
ErrWithCode
&) =
default
;
53
ErrWithCode
& operator=(
ErrWithCode
&&) =
default
;
54
55
~ErrWithCode() override;
56
};
57
58
}
// namespace compression
59
60
USERVER_NAMESPACE_END
userver
compression
error.hpp
Generated on Thu May 21 2026 16:22:10 for userver by
Doxygen
1.13.2