Class SoError
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.errors.SoError
-
- Direct Known Subclasses:
SoDebugError
,SoErrorStack
,SoGLError
,SoMemoryError
,SoReadError
public class SoError extends Inventor
Error handling base class.SoError
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 Open 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 ). Some implementations of the Open Inventor window system specific layer provide alternate ways to display an error message, for exampleSoConsole
.Each subclass of
SoError
supports the setHandlerCallback() method, which is used to set the callback to handle errors. The callback for a specific 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.Each error class contains a run-time class type id (SoType) 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 SoError.handleError() method. When debugging, you can set a breakpoint on this method to stop right before an error is handled.
- See Also:
SoDebugError
,SoMemoryError
,SoReadError
,SoGLError
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SoError.Handler
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description SoError()
Default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDebugString()
Returns debug string containing full error information from instance.static void
post(java.lang.String formatString)
Posts an error.static void
setHandlerCallback(SoError.Handler h)
Sets the handler for SoError class.-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Method Detail
-
setHandlerCallback
public static void setHandlerCallback(SoError.Handler h)
Sets the handler for SoError class.
-
post
public static void post(java.lang.String formatString)
Posts an error. The debugString will be created from the given arguments, which are in printf() format
-
getDebugString
public java.lang.String getDebugString()
Returns debug string containing full error information from instance.
-
-