ug4
error.h File Reference
#include <string>
#include <vector>
#include <sstream>
#include <exception>

Go to the source code of this file.

Classes

class  ug::SoftAbort
 This special error is used to perform a soft-abort e.g. during script execution. More...
 
class  ug::UGError
 Instances of this class or of derived classes are thrown if errors arise. More...
 

Namespaces

 ug
 the ug namespace
 

Macros

#define ASSERT_EQUAL(s1, s2)   { UG_COND_THROW(s1 != s2, "mismatch: " << UG_TO_STRING(s1) << " = " << s1 << " != " << UG_TO_STRING(s2) << " = " << s2 << "."); }
 
#define ASSERT_EQUAL_3(s1, s2, s3)   { ASSERT_EQUAL(s1, s2); ASSERT_EQUAL(s1, s3); }
 
#define ASSERT_EQUAL_4(s1, s2, s3, s4)   { ASSERT_EQUAL(s1, s2); ASSERT_EQUAL(s1, s3); ASSERT_EQUAL(s1, s4); }
 
#define PRETTY_FUNCTION   __FUNCTION__
 
#define THROW_IF_NOT_EQUAL(s1, s2)   { UG_COND_THROW(s1 != s2, "mismatch: " << UG_TO_STRING(s1) << " = " << s1 << " != " << UG_TO_STRING(s2) << " = " << s2 << "."); }
 
#define THROW_IF_NOT_EQUAL_3(s1, s2, s3)   { THROW_IF_NOT_EQUAL(s1, s2); THROW_IF_NOT_EQUAL(s1, s3); }
 
#define THROW_IF_NOT_EQUAL_4(s1, s2, s3, s4)   { THROW_IF_NOT_EQUAL(s1, s2); THROW_IF_NOT_EQUAL(s1, s3); THROW_IF_NOT_EQUAL(s1, s4); }
 
#define UG_CATCH_PRINT(msg)
 
#define UG_CATCH_THROW(msg)
 
#define UG_CATCH_THROW_FUNC()   UG_CATCH_THROW(PRETTY_FUNCTION << "failed. ")
 
#define UG_COND_THROW(cond, msg)   { if(cond) { UG_THROW(msg); } }
 UG_COND_THROW(cond, msg) : performs a UG_THROW(msg) if cond == true. More...
 
#define UG_THROW(msg)
 

Functions

std::string ug::ErrorStringFromStdException (const std::exception *pex)
 
void ug_throw_error ()
 called whenever UG_THROW or UG_THROW_REGISTRY_ERROR is called. More...