• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • Examples
  • File List
  • Globals

MyGUI_Exception.cpp

Go to the documentation of this file.
00001 
00007 /*
00008     This file is part of MyGUI.
00009     
00010     MyGUI is free software: you can redistribute it and/or modify
00011     it under the terms of the GNU Lesser General Public License as published by
00012     the Free Software Foundation, either version 3 of the License, or
00013     (at your option) any later version.
00014     
00015     MyGUI is distributed in the hope that it will be useful,
00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018     GNU Lesser General Public License for more details.
00019     
00020     You should have received a copy of the GNU Lesser General Public License
00021     along with MyGUI.  If not, see <http://www.gnu.org/licenses/>.
00022 */
00023 #include "MyGUI_Precompiled.h"
00024 #include "MyGUI_Exception.h"
00025 #include "MyGUI_Utility.h"
00026 
00027 namespace MyGUI
00028 {
00029 
00030     Exception::Exception(const std::string& _description, const std::string& _source, const char* _file, long _line ) :
00031         mDescription(_description),
00032         mSource(_source),
00033         mFile(_file),
00034         mLine(_line)
00035     {
00036     }
00037 
00038     Exception::Exception(const Exception& _rhs) :
00039         mDescription(_rhs.mDescription),
00040         mSource(_rhs.mSource),
00041         mFile(_rhs.mFile),
00042         mLine(_rhs.mLine)
00043     {
00044     }
00045 
00046     void Exception::operator = (const Exception& _rhs)
00047     {
00048         mDescription = _rhs.mDescription;
00049         mSource = _rhs.mSource;
00050         mFile = _rhs.mFile;
00051         mLine = _rhs.mLine;
00052     }
00053 
00054 
00055     const std::string& Exception::getFullDescription() const
00056     {
00057         if (mFullDesc.empty())
00058         {
00059             if ( mLine > 0 )
00060             {
00061                 mFullDesc = utility::toString("MyGUI EXCEPTION : ", mDescription, " in ", mSource, " at ", mFile, " (line ", mLine, ")");
00062             }
00063             else
00064             {
00065                 mFullDesc = utility::toString("MyGUI EXCEPTION : ", mDescription, " in ", mSource);
00066             }
00067         }
00068 
00069         return mFullDesc;
00070     }
00071 
00072 } // namespace MyGUI

Generated on Sun Jan 30 2011 for MyGUI by  doxygen 1.7.1