/*************************************************************************** mymoneyexception.h - description ------------------- begin : Sun Apr 28 2002 copyright : (C) 2000-2002 by Michael Edwardes email : mte@users.sourceforge.net Javier Campos Morales Felix Rodriguez John C Thomas Baumgart Kevin Tambascio ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef MYMONEYEXCEPTION_H #define MYMONEYEXCEPTION_H // ---------------------------------------------------------------------------- // TQt Includes #include #include /** * @file * @author Thomas Baumgart */ /** * This class describes an exception that is thrown by the engine * in case of a failure. */ class KMYMONEY_EXPORT MyMoneyException { public: /** * @def MYMONEYEXCEPTION(text) * This is the preferred constructor to create a new exception * object. It automatically inserts the filename and the source * code line into the object upon creation. * * It is equivilant to MyMoneyException(text, __FILE__, __LINE__) */ #define MYMONEYEXCEPTION(a) MyMoneyException(a, __FILE__, __LINE__) /** * The constructor to create a new MyMoneyException object. * * @param msg reference to TQString containing the message * @param file reference to TQString containing the name of the sourcefile where * the exception was thrown * @param line unsigned long containing the line number of the line where * the exception was thrown in the file. * * An easier way to use this constructor is to use the macro * MYMONEYEXCEPTION(text) instead. It automatically assigns the file * and line parameter to the correct values. */ MyMoneyException(const TQString& msg, const TQString& file, const unsigned long line); ~MyMoneyException(); /** * This method is used to return the message that was passed * during the creation of the exception object. * * @return reference to TQString containing the message */ const TQString& what(void) const { return m_msg; }; /** * This method is used to return the filename that was passed * during the creation of the exception object. * * @return reference to TQString containing the filename */ const TQString& file(void) const { return m_file; }; /** * This method is used to return the linenumber that was passed * during the creation of the exception object. * * @return long integer containing the line number */ unsigned long line(void) const { return m_line; }; private: /** * This member variable holds the message */ TQString m_msg; /** * This member variable holds the filename */ TQString m_file; /** * This member variable holds the line number */ unsigned long m_line; }; #endif