H3D API  2.4.1
Public Types | Public Member Functions | List of all members
H3D::SAI::SAIError Class Reference

This section defines the error types that may be generated in response to service requests. More...

#include <H3D/SAIFunctions.h>

Inheritance diagram for H3D::SAI::SAIError:
Inheritance graph

Public Types

enum  ErrorType {
  SAI_BROWSER_UNAVAILABLE , SAI_CONNECTION_ERROR , SAI_DISPOSED , SAI_IMPORTED_NODE ,
  SAI_INSUFFICIENT_CAPABILITIES , SAI_INVALID_ACCESS_TYPE , SAI_INVALID_BROWSER , SAI_INVALID_DOCUMENT ,
  SAI_INVALID_EXECUTION_CONTEXT , SAI_INVALID_FIELD , SAI_INVALID_NAME , SAI_INVALID_NODE ,
  SAI_INVALID_OPERATION_TIMING , SAI_INVALID_URL , SAI_INVALID_X3D , SAI_NODE_IN_USE ,
  SAI_NODE_NOT_AVAILABLE , SAI_NOT_SHARED , SAI_NOT_SUPPORTED , SAI_URL_UNAVAILABLE
}
 SAIERROR error types. More...
 

Public Member Functions

 SAIError (ErrorType _type, const string &_message="")
 Constructor. More...
 
ErrorType getErrorType () const
 Returns the SAI error type.
 
const string & getErrorMessage () const
 Returns the error message of the SAIError.
 

Detailed Description

This section defines the error types that may be generated in response to service requests.

Errors are generated as synchronous values from a service request and returned as variables of type SAIError.

Member Enumeration Documentation

◆ ErrorType

SAIERROR error types.

Enumerator
SAI_BROWSER_UNAVAILABLE 

This error type appear in the errors definition of a service request.

A language binding shall define the representation for the SAIError data type and assign values for each of the errors defined below but may also define additional error data types to these.

SAI_CONNECTION_ERROR 

An error has occurred that resulted in the connection between the browser and external application becoming non-functional.

Therefore, the service request could not be executed. This is a different error condition from SAI_BROWSER_UNAVAILABLE as it assumes that a valid reference has already been obtained and the error occurred at a later time.

SAI_DISPOSED 

The request made of the current SAINode, SAIField or SAIBrowserRef reference is being made to an object that has already been disposed prior to this service request.

SAI_IMPORTED_NODE 

An operation was attempted that used an imported node when it is not permitted as defined in 4.4.6 Import/Export semantics in ISO/IEC 19775-1.

For example, adding the imported node as a child to another node in the current scene

SAI_INSUFFICIENT_CAPABILITIES 

The user is attempting to add a node to an execution context that is greater than the capabilities defined by the profile and components definition for that scene.

SAI_INVALID_ACCESS_TYPE 

The attempt to perform an operation of a field failed because it is an invalid action for that field type.

For example, an attempt made to read the value of an inputOnly field would generate this error.

SAI_INVALID_BROWSER 

The instance of browser data type provided as part of the parameters to the service request has been disposed of prior to this request.

SAI_INVALID_DOCUMENT 

When the user has attempted to import a W3C DOM document into an X3D scene and the document cannot be completely resolved to an X3D scene graph.

There are many cases where this error might be generated. Examples are - an invalid document structure or not having the correct root element.

SAI_INVALID_EXECUTION_CONTEXT 

The instance of ExecutionContext data type provided as part of the parameters to this service request has been disposed of prior to this request.

SAI_INVALID_FIELD 

The instance of field data type provided as part of the parameters to this service request has been disposed of prior to this request.

SAI_INVALID_NAME 

The name provided to a service request is invalid or cannot be found in the context of that object.

SAI_INVALID_NODE 

The instance of the node type provided as part of the parameters to this service request has been disposed of prior to this request.

SAI_INVALID_OPERATION_TIMING 

The user is attempting to make a service request that is performed outside of the context that such operations are permitted in.

4.8.3.7 User code lifecycle. Where a service defines this as being a possible error type, this shall only be thrown by internal interactions. External interactions shall never generate this error.

SAI_INVALID_URL 

The instance of SAIURL data type provided as part of the parameters to this service request is invalid due to a syntax error.

Errors due to the requested URL not being available shall generate either an SAI_URL_UNAVAILABLE error or an asynchronous event notifying of such a problem.

SAI_INVALID_X3D 

The SAIString or X3D file (for example as a result of the fetching of a URL reference) passed to this service request contains invalid syntax and cannot be parsed to produce legal data types for use in other service requests.

SAI_NODE_IN_USE 

Indication that a named node handling action has attempted to re-use a name that is already defined elsewhere in this current scene.

SAI_NODE_NOT_AVAILABLE 

An error condition used for IMPORTed nodes.

The user has described a node that the IMPORT statement has said is valid, but the underlying Inline has not yet been loaded to verify that it is a correctly EXPORTed node.

SAI_NOT_SHARED 

A service request was made that assumed the browser was currently participating in a shared scene graph when it was not.

SAI_NOT_SUPPORTED 

Generalised error for when a service request is made for a capability that is not available in this browser implementation.

For example, if the user requests a profile declaration for a profile that is not supported by the browser, this error may be generated.

SAI_URL_UNAVAILABLE 

The service request requiring the browser to have a world URL set cannot be completed because no URL has been set.

This error is typically generated from a getWorldURL or getNode service request.

Constructor & Destructor Documentation

◆ SAIError()

H3D::SAI::SAIError::SAIError ( ErrorType  _type,
const string &  _message = "" 
)
inline

Constructor.

Parameters
_typeThe error type, see ErrorType struct.
_messageoptional message associtiated with the exception.

The documentation for this class was generated from the following file: