Purpose:
This section describes the DK data access exception classes and their hierarchy.
Exceptions:
DKException
All classes below are created using the DKEXCLASSIMPLEMENT macro and are subclasses of DKException.
dkDatastoreError dkSystemError dkUsageError dkXDOError
DKDatastoreAccessError is also a subclass of DKException, and it has some subclasses listed below. These exceptions have return code and state information.
dkDatastoreAccessError dkXDOAccessError dkDataObjectNotFound
The meaning of each exception is described in the description of each class which throws the exception.
Class summary:
class DKException : public DKExceptionBase { public: DKException(const char *errorText, long errorId = 0, Severity severity = dkExceptionBase::unrecoverable, long errorCode = 0, const char* errorState = ""); ); DKException(const DKException& exception); virtual DKException(); virtual const char* name() const; virtual const char* errorState() const; virtual long errorCode() const; virtual DKBoolean errorProvided() const; virtual short exceptionId() const; };
Class summary:
#define DKEXCLASSDECLARE(child,parent) class child : public parent { public: child(const char* a, unsigned long b = 0, Severity c = DKException::unrecoverable); virtual const char* name() const; virtual child(); child(const child& ); virtual DKException& logExceptionData(); } #define DKDAEXCLASSDECLARE(child,parent) class child : public parent { public: child(const char* a, unsigned long b = 0, Severity c = DKException::unrecoverable, long aCODE = 0, const char* aSTATE = "" ); virtual const char* name() const; virtual child(); child(const child& ); virtual DKException& logExceptionData(); virtual const char* errorState() const; virtual long errorCode() const; }
Class summary:
class DKExceptionBase : public IException { public: enum DKSeverity (unrecoverable, recoverable); DKExceptionBase (const char *errorText, unsigned long errorID = 0, dkSeverity severity = dkExceptionBase::unrecoverable); DKExceptionBase( const DKExceptionBase& exc); const DKExceptionLocation =locationAtIndex (unsigned long locationIndex) const; const char* text(unsigned long i=0) const; unsigned long textCount(); static void setThrown(short thrown); static short isThrown(); ); //For Windows the code above would be: class DKExceptionBase : public CException { public: enum DKSeverity {unrecoverable, recoverable}; DKExceptionBase (const char *errorText, unsigned long errorID = 0, dkSeverity severity = dkExceptionBase::unrecoverable); DKExceptionBase( const DKExceptionBase& exc); virtual DKExceptionBase(); const char * text (unsigned long i = 0) const; unsigned long textCount(); void addLocation (const DKExceptionLocation &location ); unsigned long locationCount() const; const DKExceptionLocation *locationAtIndex (unsigned long locationIndex) const; void appendText (const char *errorText); void setText (const char *errorText); unsigned long errorId() const; static void setThrown(short thrown); static short isThrown(); };
Class summary:
For AIX class DKExceptionLocation : public IExceptionLocation { public: DKExceptionLocation (const char* fileName = 0, const char* functionName = 0, unsigned long lineNumber = 0); ); For Windows class DKExceptionLocation { { public: DKExceptionLocation (const char* fileName = 0, const char* functionName = 0, unsigned long lineNumber = 0); DKExceptionLocation (const DKExceptionLocation& from); public: const char *fileName() const: // file name const char *functionName() const: // function name unsigned long lineNumber() const; // line number DKExceptionLocation& operator = (const DKExceptionLocation& from); virtual DKExceptionLocation(); };
Members:
DKException (const char *errorText, long errorId = 0, Severity severity = DKExceptionBase::unrecoverable, long errorCode = 0, const char* errorState = ""); ); DKException(const DKException& exception);
virtual const char* name() const;
virtual const char* errorState() const;
virtual long errorCode() const;
virtual DKBoolean errorProvided() const;
virtual short exceptionId() const;
const char * text (unsigned long i = 0) const;
unsigned long textCount();
void addLocation (const DKExceptionLocation &location );
unsigned long locationCount() const ;
const DKExceptionLocation *locationAtIndex (unsigned long locationIndex) const;
void appendText (const char *errorText);
void setText (const char *errorText);
unsigned long errorId() const;
static void setThrown(short thrown);
static short isThrown();
DKConstant.h contains some constant values. DKConstant.h includes DKConstant2.h, and DKConstant2.h contains the other constants that the C++ OO API uses.
For AIX #define DKString IString For Windows class DKString : public CString { public: DKString(); DKString (const char* s); DKString (const DKString &s); DKString (void *pBuffer, unsigned long lenBuffer); DKString (char * pc); DKString (char c); DKString (int v); DKString (unsigned int v); DKString (short v); DKString (long v); DKString (unsigned short v); DKString (unsigned long v); DKString (double v); virtual DKString(); const DKString operator = (const DKString &cst) const; const DKString operator = (const CString &cst) const; const DKString operator = (const char * cst) const; const DKString operator = (const char c) const; const DKString operator + (const DKString &cst) const; const DKString operator + (const CString &cst) const; const DKString operator + (const char * cst) const; const DKString operator + (const char c) const; const DKString operator += (const DKString &cst) const; const DKString operator += (const CString &cst) const; const DKString operator += (const char * cst) const; const DKString operator += (const char c) const; dkBoolean operator==(char *s) const; dkBoolean operator==(const char *s) const; dkBoolean operator==(const DKString *s) const; dkBoolean operator!=(char *s) const; dkBoolean operator!=(const char *s) const; dkBoolean operator!=(const DKString *s) const; unsigned long size() const; dkString subString (unsigned long position, unsigned long len) const; void strip(); unsigned long length() const; unsigned long indexOf (char ch) const; unsigned long indexOf (const DKString str, unsigned long position) const; unsigned long indexOf (char ch, unsigned long position) const; dkString& remove (unsigned long position, unsigned long len); dkString& insert (const DKString str, unsigned long position); dkString& leftJustify (unsigned long len) dkBoolean isDigits(); long asInt(); unsigned long asUnsigned(); operator CString(); operator char *(); char operator [](unsigned long index); DKString& upperCase(); };
The inputs to this class are listed below:
DKString(); DKString (const char* s); DKString (const DKString &s); DKString (void *pBuffer, unsigned long lenBuffer); DKString (char * pc); DKString (char c); DKString (int v); DKString (unsigned int v); DKString (short v); DKString (long v); DKString (unsigned short v); DKString (unsigned long v); DKString (double v);
const DKString operator = (const DKString &cst) const; const DKString operator = (const char * cst) const; const DKString operator = (const char c) const; // only on MSVC const DKString operator = (const CString &cst) const;
const DKString operator + (const DKString &cst) const; const DKString operator + (const char * cst) const; const DKString operator + (const char c) const; // only on MSVC const DKString operator + (const CString &cst) const;
const DKString operator += (const DKString &cst) const; const DKString operator += (const char * cst) const; const DKString operator += (const char c) const; // only on MSVC const DKString operator += (const CString &cst) const;
dkBoolean operator==(char *s) const; dkBoolean operator==(const char *s) const; dkBoolean operator==(const DKString *s) const;
dkBoolean operator!=(char *s) const; dkBoolean operator!=(const char *s) const; dkBoolean operator!=(const DKString *s) const;
unsigned long size() const;
dkString subString (unsigned long position, unsigned long len) const;
void strip();
unsigned long length() const;
unsigned long indexOf (char ch) const; unsigned long indexOf (const DKString str, unsigned long position) const; unsigned long indexOf (char ch, unsigned long position) const;
dkString& remove (unsigned long position, unsigned long len);
dkString& insert (const DKString& str, unsigned long position);
dkString& leftJustify (unsigned long len);
dkBoolean isDigits();
unsigned long asInt();
unsigned long asUnsigned();
operator CString();
operator char *();
char operator []( unsigned long index );
DKString& upperCase();
(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.