libquentier
0.5.0
The library for rich desktop clients of Evernote service
headers
quentier
exception
IQuentierException.h
1
/*
2
* Copyright 2016-2020 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
#ifndef LIB_QUENTIER_EXCEPTION_I_QUENTIER_EXCEPTION_H
20
#define LIB_QUENTIER_EXCEPTION_I_QUENTIER_EXCEPTION_H
21
22
#include <quentier/utility/Printable.h>
23
#include <quentier/types/ErrorString.h>
24
#include <exception>
25
26
namespace
quentier {
27
36
class
QUENTIER_EXPORT
IQuentierException
:
37
public
Printable
,
public
std::exception
38
{
39
public
:
40
explicit
IQuentierException
(
const
ErrorString
& message);
41
42
virtual
~
IQuentierException
() noexcept
override
;
43
44
QString localizedErrorMessage()
const
;
45
QString nonLocalizedErrorMessage()
const
;
46
47
virtual
const
char
* what()
const
noexcept
override
;
48
49
virtual
QTextStream & print(QTextStream & strm)
const override
;
50
51
protected
:
52
IQuentierException
(
const
IQuentierException
& other);
53
IQuentierException
& operator =(
const
IQuentierException
& other);
54
55
virtual
const
QString exceptionDisplayName()
const
= 0;
56
57
private
:
58
IQuentierException
() =
delete
;
59
60
ErrorString
m_message;
61
char
* m_whatMessage;
62
};
63
64
}
// namespace quentier
65
66
#endif // LIB_QUENTIER_EXCEPTION_I_QUENTIER_EXCEPTION_H
67
quentier::Printable
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition:
Printable.h:38
quentier::ErrorString
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition:
ErrorString.h:43
quentier::IQuentierException
The IQuentierException class represents the interface for exceptions specific to libquentier and appl...
Definition:
IQuentierException.h:36
Generated on Wed Jun 17 2020 18:33:52 for libquentier by
1.8.17