Pothos  0.3.0-ga8f2d4e2
The Pothos dataflow programming software suite
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Classes | Namespaces | Macros
Exception.hpp File Reference
#include <Pothos/Config.hpp>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Classes

class  Pothos::Exception
 
class  Pothos::LogicException
 
class  Pothos::AssertionViolationException
 
class  Pothos::NullPointerException
 
class  Pothos::NullValueException
 
class  Pothos::BugcheckException
 
class  Pothos::InvalidArgumentException
 
class  Pothos::NotImplementedException
 
class  Pothos::RangeException
 
class  Pothos::IllegalStateException
 
class  Pothos::InvalidAccessException
 
class  Pothos::SignalException
 
class  Pothos::UnhandledException
 
class  Pothos::RuntimeException
 
class  Pothos::NotFoundException
 
class  Pothos::ExistsException
 
class  Pothos::TimeoutException
 
class  Pothos::SystemException
 
class  Pothos::RegularExpressionException
 
class  Pothos::LibraryLoadException
 
class  Pothos::LibraryAlreadyLoadedException
 
class  Pothos::NoThreadAvailableException
 
class  Pothos::PropertyNotSupportedException
 
class  Pothos::PoolOverflowException
 
class  Pothos::NoPermissionException
 
class  Pothos::OutOfMemoryException
 
class  Pothos::DataException
 
class  Pothos::DataFormatException
 
class  Pothos::SyntaxException
 
class  Pothos::CircularReferenceException
 
class  Pothos::PathSyntaxException
 
class  Pothos::IOException
 
class  Pothos::ProtocolException
 
class  Pothos::FileException
 
class  Pothos::FileExistsException
 
class  Pothos::FileNotFoundException
 
class  Pothos::PathNotFoundException
 
class  Pothos::FileReadOnlyException
 
class  Pothos::FileAccessDeniedException
 
class  Pothos::CreateFileException
 
class  Pothos::OpenFileException
 
class  Pothos::WriteFileException
 
class  Pothos::ReadFileException
 
class  Pothos::UnknownURISchemeException
 
class  Pothos::ApplicationException
 
class  Pothos::BadCastException
 

Namespaces

 Pothos
 

Macros

#define POTHOS_EXCEPTION_TRY   try{try
 
#define POTHOS_EXCEPTION_CATCH(catchExpr)
 
#define POTHOS_DECLARE_EXCEPTION_CODE(API, CLS, BASE, CODE)
 
#define POTHOS_DECLARE_EXCEPTION(API, CLS, BASE)   POTHOS_DECLARE_EXCEPTION_CODE(API, CLS, BASE, 0)
 
#define POTHOS_IMPLEMENT_EXCEPTION(CLS, BASE, NAME)
 

Macro Definition Documentation

#define POTHOS_DECLARE_EXCEPTION (   API,
  CLS,
  BASE 
)    POTHOS_DECLARE_EXCEPTION_CODE(API, CLS, BASE, 0)
#define POTHOS_DECLARE_EXCEPTION_CODE (   API,
  CLS,
  BASE,
  CODE 
)
Value:
class API CLS: public BASE \
{ \
public: \
CLS(int code = CODE); \
CLS(const std::string& msg, int code = CODE); \
CLS(const std::string& msg, const std::string& arg, int code = CODE); \
CLS(const std::string& msg, const Pothos::Exception& exc, int code = CODE); \
CLS(const CLS& exc); \
~CLS() throw(); \
CLS& operator = (const CLS& exc); \
const char* name() const throw(); \
const char* className() const throw(); \
Pothos::Exception* clone() const; \
void rethrow() const; \
};
Definition: Exception.hpp:65
#define POTHOS_EXCEPTION_CATCH (   catchExpr)
Value:
catch(const Pothos::Exception &){throw;}\
catch(const Poco::Exception &ex){throw Pothos::Exception(ex.displayText());}\
catch(const std::exception &ex){throw Pothos::Exception(ex.what());}\
catch(...){throw Pothos::Exception("unknown exception");}\
}catch(catchExpr)
Definition: Exception.hpp:65

The catch block for a super catch-all exception. Catch exceptions from all known exception types and rethrow any exception as a Pothos::Exception.

Parameters
catchExprthe contents of the catch() keyword
#define POTHOS_EXCEPTION_TRY   try{try

The try block for a super catch-all exception. Use the standard try/catch syntax and bracketing, and always use this macro with POTHOS_EXCEPTION_CATCH.

#define POTHOS_IMPLEMENT_EXCEPTION (   CLS,
  BASE,
  NAME 
)