QEverCloud  6.1.0
Unofficial Evernote Cloud API for Qt
EverCloudException.h
Go to the documentation of this file.
1 
9 #ifndef QEVERCLOUD_EVER_CLOUD_EXCEPTION_H
10 #define QEVERCLOUD_EVER_CLOUD_EXCEPTION_H
11 
12 #include "Export.h"
13 #include "Helpers.h"
14 
15 #include <QObject>
16 #include <QString>
17 
18 #include <exception>
19 #include <memory>
20 
21 namespace qevercloud {
22 
24 
26 
28 
32 class QEVERCLOUD_EXPORT EverCloudException: public std::exception
33 {
34 protected:
35  mutable QByteArray m_error;
36 
37 public:
38  explicit EverCloudException();
39  explicit EverCloudException(QString error);
40  explicit EverCloudException(const std::string & error);
41  explicit EverCloudException(const char * error);
42 
43  virtual ~EverCloudException() noexcept override;
44 
45  virtual const char * what() const noexcept override;
46 
47  virtual std::shared_ptr<EverCloudExceptionData> exceptionData() const;
48 };
49 
51 
130 {
131  Q_OBJECT
132  Q_DISABLE_COPY(EverCloudExceptionData)
133 public:
137  QString errorMessage;
138 
139  explicit EverCloudExceptionData(QString error);
140 
146  virtual void throwException() const;
147 };
148 
149 using EverCloudExceptionDataPtr = std::shared_ptr<EverCloudExceptionData>;
150 
152 
158 {
159 public:
160  explicit EvernoteException();
161  explicit EvernoteException(QString error);
162  explicit EvernoteException(const std::string & error);
163  explicit EvernoteException(const char * error);
164 
165  virtual EverCloudExceptionDataPtr exceptionData() const override;
166 };
167 
169 
175 {
176  Q_OBJECT
177  Q_DISABLE_COPY(EvernoteExceptionData)
178 public:
179  explicit EvernoteExceptionData(QString error);
180  virtual void throwException() const override;
181 };
182 
183 } // namespace qevercloud
184 
185 #endif // QEVERCLOUD_EVER_CLOUD_EXCEPTION_H
Export.h
qevercloud::EverCloudException::m_error
QByteArray m_error
Definition: EverCloudException.h:35
qevercloud::EverCloudException::EverCloudException
EverCloudException()
qevercloud::EverCloudExceptionData::throwException
virtual void throwException() const
qevercloud::EvernoteException::EvernoteException
EvernoteException(QString error)
qevercloud
Definition: AsyncResult.h:21
qevercloud::EvernoteException::EvernoteException
EvernoteException()
qevercloud::EvernoteExceptionData::throwException
virtual void throwException() const override
Helpers.h
qevercloud::EverCloudException::EverCloudException
EverCloudException(QString error)
qevercloud::EvernoteException::exceptionData
virtual EverCloudExceptionDataPtr exceptionData() const override
qevercloud::EvernoteException
Definition: EverCloudException.h:158
qevercloud::EverCloudException::~EverCloudException
virtual ~EverCloudException() noexcept override
qevercloud::EverCloudException::EverCloudException
EverCloudException(const std::string &error)
qevercloud::EverCloudExceptionData::EverCloudExceptionData
EverCloudExceptionData(QString error)
qevercloud::EverCloudExceptionData
EverCloudException counterpart for asynchronous API.
Definition: EverCloudException.h:130
qevercloud::EverCloudExceptionData::errorMessage
QString errorMessage
Definition: EverCloudException.h:137
qevercloud::EverCloudException::EverCloudException
EverCloudException(const char *error)
qevercloud::EvernoteException::EvernoteException
EvernoteException(const std::string &error)
qevercloud::EvernoteException::EvernoteException
EvernoteException(const char *error)
qevercloud::EverCloudException
Definition: EverCloudException.h:33
QEVERCLOUD_EXPORT
#define QEVERCLOUD_EXPORT
Definition: Export.h:19
qevercloud::EverCloudExceptionDataPtr
std::shared_ptr< EverCloudExceptionData > EverCloudExceptionDataPtr
Definition: EverCloudException.h:149
qevercloud::EvernoteExceptionData::EvernoteExceptionData
EvernoteExceptionData(QString error)
qevercloud::EvernoteExceptionData
Definition: EverCloudException.h:175