version 3.3

exception.h File Reference

#include <vrs/config.h>
#include <sstream>
#include <stdexcept>

Go to the source code of this file.

Namespaces

namespace  VRS

Classes

class  VRS::Exception
 General VRS exception class. More...

Defines

#define VRS_DEFINE_EXCEPTION(NEW_EXCEPTION, BASE_EXCEPTION)
#define VRS_THROW_IF(CONDITION, EXCEPTION, MESSAGE)
#define VRS_THROW(EXCEPTION, MESSAGE)   VRS_THROW_IF(true, EXCEPTION, MESSAGE)

Functions

 VRS::VRS_DEFINE_EXCEPTION (OutOfMemoryException, Exception)


Define Documentation

#define VRS_DEFINE_EXCEPTION ( NEW_EXCEPTION,
BASE_EXCEPTION   ) 

Value:

class NEW_EXCEPTION :                                                      \
        public BASE_EXCEPTION                                                  \
    {                                                                          \
    public:                                                                    \
        NEW_EXCEPTION(                                                         \
            const std::string& message,                                        \
            const std::string& sourceFileName,                                 \
            unsigned int sourceFileLine,                                       \
            const std::string& condition                                       \
        ) throw() :                                                            \
            BASE_EXCEPTION(message, sourceFileName, sourceFileLine, condition) \
        { }                                                                    \
    };

#define VRS_THROW ( EXCEPTION,
MESSAGE   )     VRS_THROW_IF(true, EXCEPTION, MESSAGE)

#define VRS_THROW_IF ( CONDITION,
EXCEPTION,
MESSAGE   ) 

Value:

if(CONDITION) {                                                 \
        std::ostringstream out;                                     \
        out.precision(15);                                          \
        out << MESSAGE;                                             \
        throw EXCEPTION(out.str(), __FILE__, __LINE__, #CONDITION); \
    }


Generated on Thu May 23 06:00:21 2013 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact