source: SMSSender/lib/libdatatypes/src/exceptions/eexception.h @ 72:fc91522ef9be

3.0
Last change on this file since 72:fc91522ef9be was 72:fc91522ef9be, checked in by Sämy Zehnder <saemy.zehnder@…>, 8 years ago
  • Started exception handling
  • Fixed several bugs from the removal of the iloginaccount gateway
File size: 1.3 KB
Line 
1/*
2 * EException.h
3 *
4 *  Created on: Jan 4, 2010
5 *      Author: saemy
6 */
7
8#ifndef EEXCEPTION_H_
9#define EEXCEPTION_H_
10
11#include <QList>
12#include <QMap>
13#include <QString>
14#include <QStringList>
15
16class EException {
17public:
18    EException()
19        : chainedException_(NULL)
20    {};
21    explicit EException(const QString& msg);
22    ~EException() throw(){};
23
24    EException      addDebugInfo(const QString& value) throw();
25    EException      addDebugInfo(const QString& key, int value) throw();
26    EException      addDebugInfo(const QString& key, const QString& value) throw();
27    EException      addDebugInfos(const QList<QString>& debugInfos) throw();
28    EException      addDebugInfos(const QMap<QString, QString>& debugInfos) throw();
29    QList<QString>  debugInfos() const throw();
30
31    EException      chain(const EException& exception) throw();
32    EException      chainedException() const throw();
33
34    void            setMessage(const QString& msg) throw();
35    QString         what(bool chained = true) const throw();
36    QString         chainedWhat() const throw();
37    QString         unchainedWhat() const throw();
38    virtual QString toString() const throw();
39
40private:
41    QString         message_;
42    QStringList     debugInfos_;
43    EException*     chainedException_;
44};
45
46#endif /* EEXCEPTION_H_ */
Note: See TracBrowser for help on using the repository browser.