2005/5/9

     
 

Throwable_h

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

Throwable.h File Reference

#include String.h
#include ObjectArrayBase.h
#include InOutPreDeclaration.h
#include StackFrame.h
#include sys/BackTrace.h

Namespaces

namespace  acdk
namespace  acdk::lang

Defines

#define THROW0(ClassName)
 to avoid too lengthy in the form:

#define THROW0_FQ(ns, ClassName)
 Version of THROW0 with namespace.

#define THROW1(ClassName, arg1)
#define THROW1_FQ(ns, ClassName, arg1)
#define THROW2(ClassName, arg1, arg2)
#define THROW2_FQ(ns, ClassName, arg1, arg2)
#define THROW3(ClassName, arg1, arg2, arg3)
#define THROW3_FQ(ns, ClassName, arg1, arg2, arg3)
#define THROWX(ClassName, args)
 args is a argument list with round brackets.

#define THROWX_FQ(ns, ClassName, args)
 THROWX with namespace.

#define THROW_INSTANCE(ex)
 if you have also an RThrowable reference use this macro to throw
  try {
    RThrowable ex = ...;
    throw ex;           // this will catched by RThrowable 
                        // independed by real exception type
    THROW_INSTANCE(ex); // this uses Metainfo to throw the correct type
                        // and may also be catch by RMyException
  } catch (RMyException ex) {
  } catch (RThrowable ex) {
  }