Honeycomb  0.1
Component-Model Framework
Classes | Namespaces | Macros | Functions
Exception.h File Reference
#include "Honey/String/Stream.h"
Include dependency graph for Exception.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  honey::Exception
 Base exception class. Exceptions inherited from this class provide debug info and can be thrown polymorphically (unlike standard c++ exceptions). More...
 
struct  honey::Exception::MsgStream
 Custom error message builder. More...
 
struct  honey::Exception::Source
 Info about source where exception was thrown. More...
 
struct  honey::Exception::Raiser
 Helper to raise an exception after the right side of ^ has been evaluated. More...
 
struct  honey::exception::Std< T >
 Wrapper around std exception to allow for polymorphic throw. More...
 
struct  honey::exception::Unknown
 
struct  honey::debug::AssertionFailure
 Thrown on debug assert() failure. More...
 

Namespaces

 honey
 Global Honeycomb namespace.
 
 honey::exception
 Exception util.
 
 honey::debug
 Debug Mode Functions
 

Macros

#define throw_   Exception::Raiser() ^ Exception::Source(__FUNC__, __FILE__, __LINE__) <<
 Use in place of throw keyword to throw a honey::Exception object polymorphically and provide debug info. More...
 
#define EXCEPTION(Class)
 Declares methods required for every subclass of honey::Exception. More...
 

Functions

template<class T >
Std< T >::Ptr honey::exception::createStd (const T &e)
 

Macro Definition Documentation

#define EXCEPTION (   Class)
Value:
typedef SharedPtr<Class> Ptr; \
typedef SharedPtr<const Class> ConstPtr; \
\
virtual Exception::Ptr clone() const { return new Class(*this); } \
virtual String typeName() const { return typeid(*this).name(); } \
virtual void raise() const { throw *this; } \

Declares methods required for every subclass of honey::Exception.

#define throw_   Exception::Raiser() ^ Exception::Source(__FUNC__, __FILE__, __LINE__) <<

Use in place of throw keyword to throw a honey::Exception object polymorphically and provide debug info.