kexi
exception.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "exception.h"
00021
00022 #include <kdebug.h>
00023
00024 using namespace KoMacro;
00025
00026 namespace KoMacro {
00027
00032 class Exception::Private
00033 {
00034 public:
00035
00037 const QString errormessage;
00038
00040 QString tracemessages;
00041
00045 Private(const QString& errormessage)
00046 : errormessage(errormessage)
00047 {
00048 }
00049
00050 };
00051
00052 }
00053
00054
00055 Exception::Exception(const QString& errormessage)
00056 : d( new Private(errormessage) )
00057 {
00058
00059 kdDebug() << QString("Exception errormessage=\"%1\"").arg(errormessage) << endl;
00060 }
00061
00062
00063 Exception::Exception (const Exception& e)
00064 : d( new Private( e.errorMessage() ) )
00065 {
00066 d->tracemessages = e.traceMessages();
00067 }
00068
00069
00070 Exception::~Exception()
00071 {
00072 delete d;
00073 }
00074
00075
00076 const QString Exception::errorMessage() const
00077 {
00078 return d->errormessage;
00079 }
00080
00081
00082 const QString Exception::traceMessages() const
00083 {
00084 return d->tracemessages;
00085 }
00086
00087
00088 void Exception::addTraceMessage(const QString& tracemessage)
00089 {
00090
00091 if(d->tracemessages.isEmpty())
00092 d->tracemessages = tracemessage;
00093
00094 else
00095 d->tracemessages += "\n" + tracemessage;
00096 }
00097
|