source: SMSSender/lib/libdatatypes/src/exceptions/eexception.h @ 73:85d8decd3656

3.0
Last change on this file since 73:85d8decd3656 was 73:85d8decd3656, checked in by Sämy Zehnder <saemy.zehnder@…>, 9 years ago
  • Backupversion only! Before removal of QObject as parent of EException
File size: 1.5 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 <QObject>
12#include <QList>
13#include <QMap>
14#include <QString>
15#include <QStringList>
16
17class EException: public QObject {
18    Q_OBJECT
19
20public:
21    EException()
22        : chainedException_(NULL)
23    {};
24    EException(const QString& msg);
25    EException(const EException& other);
26    virtual ~EException() throw(){};
27
28    EException&     addDebugInfo(const QString& value) throw();
29    EException&     addDebugInfo(const QString& key, int value) throw();
30    EException&     addDebugInfo(const QString& key, const QString& value) throw();
31    EException&     addDebugInfos(const QList<QString>& debugInfos) throw();
32    EException&     addDebugInfos(const QMap<QString, QString>& debugInfos) throw();
33    QList<QString>  debugInfos() const throw();
34
35    EException&     chain(EException exception) throw();
36    EException&     chain(EException& exception) throw();
37    EException&     chainedException() const throw();
38
39    void            setWhat(const QString& msg) throw();
40    QString         what(bool chained = true) const throw();
41    QString         chainedWhat() const throw();
42    QString         unchainedWhat() const throw();
43    virtual QString toString() const throw();
44
45    EException&     operator=(const EException& other);
46
47private:
48    QString         message_;
49    QStringList     debugInfos_;
50    EException*     chainedException_;
51};
52
53#endif /* EEXCEPTION_H_ */
Note: See TracBrowser for help on using the repository browser.