MyGUI
3.0.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_Exception.h
Go to the documentation of this file.
1
7
/*
8
This file is part of MyGUI.
9
10
MyGUI is free software: you can redistribute it and/or modify
11
it under the terms of the GNU Lesser General Public License as published by
12
the Free Software Foundation, either version 3 of the License, or
13
(at your option) any later version.
14
15
MyGUI is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public License
21
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
#ifndef __MYGUI_EXCEPTION_H__
24
#define __MYGUI_EXCEPTION_H__
25
26
#include "
MyGUI_Prerequest.h
"
27
#include <exception>
28
#include <string>
29
30
namespace
MyGUI
31
{
32
33
class
MYGUI_EXPORT
Exception
:
public
std::exception
34
{
35
protected
:
36
std::string
mDescription
;
37
std::string
mSource
;
38
std::string
mFile
;
39
long
mLine
;
40
mutable
std::string
mFullDesc
;
41
42
public
:
43
Exception
(
const
std::string& _description,
const
std::string& _source,
const
char
* _file,
long
_line );
44
45
Exception
(
const
Exception
& _rhs);
46
47
// Needed for compatibility with std::exception
48
~Exception
() throw() { }
49
50
Exception
& operator = (
const
Exception
& _rhs);
51
52
virtual
const
std::string& getFullDescription()
const
;
53
54
virtual
const
std::string &
getSource
()
const
{
return
mSource; }
55
56
virtual
const
std::string &
getFile
()
const
{
return
mFile; }
57
58
virtual
long
getLine
()
const
{
return
mLine; }
59
60
virtual
const
std::string&
getDescription
()
const
{
return
mDescription; }
61
62
// Override std::exception::what
63
const
char
*
what
()
const
throw() {
return
getFullDescription().c_str(); }
64
65
};
66
67
}
// namespace MyGUI
68
69
#endif // __MYGUI_EXCEPTION_H__
Generated by
1.8.1.2