libquentier
0.8.0
The library for rich desktop clients of Evernote service
Toggle main menu visibility
Loading...
Searching...
No Matches
headers
quentier
exception
IQuentierException.h
1
/*
2
* Copyright 2016-2025 Dmitry Ivanov
3
*
4
* This file is part of libquentier
5
*
6
* libquentier is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, version 3 of the License.
9
*
10
* libquentier is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include <quentier/types/ErrorString.h>
22
#include <quentier/utility/Printable.h>
23
24
#include <QException>
25
26
namespace
quentier {
27
36
class
QUENTIER_EXPORT IQuentierException :
37
public
utility::Printable
,
38
public
QException
39
{
40
public
:
41
~IQuentierException()
noexcept
override
;
42
43
[[nodiscard]]
ErrorString
errorMessage()
const
;
44
[[nodiscard]] QString localizedErrorMessage()
const
;
45
[[nodiscard]] QString nonLocalizedErrorMessage()
const
;
46
47
// std::exception
48
[[nodiscard]]
const
char
* what()
const
noexcept
override
;
49
50
// utility::Printable
51
QTextStream & print(QTextStream & strm)
const override
;
52
53
protected
:
54
explicit
IQuentierException(
ErrorString
message);
55
IQuentierException(
const
IQuentierException & other);
56
IQuentierException & operator=(
const
IQuentierException & other);
57
58
[[nodiscard]]
virtual
QString exceptionDisplayName()
const
= 0;
59
60
private
:
61
ErrorString
m_message;
62
char
* m_whatMessage =
nullptr
;
63
};
64
65
}
// namespace quentier
quentier::ErrorString
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition
ErrorString.h:43
quentier::utility::Printable
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition
Printable.h:38
Generated on
for libquentier by
1.18.0