GG: Exception.h File Reference

GG

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces | Macros
Exception.h File Reference
`#include <GG/Export.h>`
`#include <stdexcept>`
`#include <string>`

Go to the source code of this file.

## Classes
class | GG::ExceptionBase

## Namespaces
namespace | GG

## Macros
#define | GG_EXCEPTION(name)
#define | GG_ABSTRACT_EXCEPTION(name)
#define | GG_CONCRETE_EXCEPTION(name, class_name, superclass)

## Detailed Description

Contains the GG::Exception base class and macros that ease declaring subclasses.

Definition in file Exception.h.

## Macro Definition Documentation

#define GG_EXCEPTION | ( |  | name | ) |

Value:
class GG_API name : public ExceptionBase \
{ \
public: \
name () throw() : ExceptionBase() {} \
name (const std::string& msg) throw() : ExceptionBase(msg) {} \
virtual const char* type() const throw() \
{return "GG::" # name ;} \
};

Declares a GG exception class. This should be used to declare GG exceptions at namespace scope.

Definition at line 61 of file Exception.h.

#define GG_ABSTRACT_EXCEPTION | ( |  | name | ) |

Value:
class GG_API name : public ExceptionBase \
{ \
public: \
name () throw() : ExceptionBase() {} \
name (const std::string& msg) throw() : ExceptionBase(msg) {} \
virtual const char* type() const throw() = 0; \
};

Declares an abstract base for further GG exception class inheritance. This should be used along with GG_CONCRETE_EXCEPTION to group all exceptions from a single GG class under one subhierarchy.

Definition at line 74 of file Exception.h.

#define GG_CONCRETE_EXCEPTION | ( |  | name,
|  |  | class_name,
|  |  | superclass
| ) |  |

Value:
class GG_API name : public superclass \
{ \
public: \
name () throw() : superclass () {} \
name (const std::string& msg) throw() : superclass (msg) {} \
virtual const char* type() const throw() \
{return # class_name "::" # name ;} \
};

Declares a concrete exception class derived from superclass. This should be used along with GG_ABSTRACT_EXCEPTION to group all exceptions from a single GG class under one subhierarchy.

Definition at line 86 of file Exception.h.