NAME SoError "SoErr" "" { error handling base class }

INCLUDE errors/SoError.h

DESC { \cSoError\. is the base class for all error classes,
which provide error handling for applications.
There are two facets to errors: posting and handling. An error is
posted when some bad condition occurs. Posting is done primarily
by the Inventor library itself, but extenders can post their own
errors. Posting an error creates an instance of the appropriate
error class (or subclass) and then passes it to the active error
handler. The default handler just prints an appropriate message to
stderr. Applications can override this behavior by supplying a
different handler (by specifying a callback function).
\p
Each subclass of SoError supports the
\+\msetHandlerCallback()\. method,\.
\-\mSoErrSetHndlrCB()\. function,\.
which is used to set the callback function to handle errors.
The callback function for a specfic error class is always used in preference
to that of any base classes when handling errors.
The error instance passed to a callback is deleted immediately
after the callback is called; an application that wishes to save
information from the instance has to copy it out first.
\p
Each error class contains a run-time class type id (\cSoType\.) that
can be used to determine the type of an instance. The base class
defines a character string that represents a detailed error
message that is printed by the default handler.
\+All handlers are called by the \mSoError::handleError()\. method. When
debugging, you can set a breakpoint on this method to stop right
before an error is handled.\.
}

TYPEDEF void SoErrorCB "(const SoError *error, void *data)"

METHOD "setHndlrCB" static void setHandlerCallback(SoErrorCB *cb, void *data) {}
METHOD "getHndlrCB" static SoErrorCB * getHandlerCallback() {}
METHOD "getHndlrData" static void * getHandlerData() {
Sets/returns handler callback for \cSoError\. class.
}

METHOD "getDbgStr" const SbString & getDebugString() const {
Returns debug string containing full error information from instance.
}

METHOD "" static SoType	getClassTypeId() { 
Returns type identifier for SoError class.
}

METHOD "" virtual SoType getTypeId() const {
Returns type identifier for error instance.
}

METHOD "" SbBool isOfType(SoType type) const {
Returns TRUE if instance is of given type or is derived from it.
}

ALSO { 
SoDebugError,
SoMemoryError,
SoReadError
}



