Error Codes and Messages
Overview
All methods of all the OpenROAD Server COM objects return a 32-bit HRESULT status code, as required by COM for methods that can be invoked remotely.
Error conditions are indicated by a negative HRESULT status code. Some of these errors are system errors (such as network failures or access denials), and some are application errors. Error codes within the range of 0x80041000 and 0x8004FFFF are interface-specific errors that can have different interpretations depending on which COM interface returns them.
One set of interface-specific error codes is shared by all the OpenROAD COM objects (ASO, SPO, RSO, PDO, and ASOSession). Some of the error codes apply only to certain object types, but all the error codes are unique and are never used for different purposes by different object types.
Whenever possible, the OpenROAD Server posts a COM exception object with the HRESULT. The exception object contains a detailed description of the error condition; you can access it through the GetErrorInfo COM API function. (Scripting languages typically call this internally and then use the text in whatever error reporting mechanism is standard for that language.)
In the 4GL REMOTESERVER class, the HRESULT from each call is saved in the Errorcode attribute, and the text from the associated COM exception object (if any) is made available in the Errortext attribute.
Errors arising from ParamDesc or Params structures are accompanied by a description of precisely where in the hierarchical structure the problem was detected. This location is described in both VBScript array syntax and OpenROAD 4GL syntax.
For more information about troubleshooting specific errors, see
Troubleshooting the OpenROAD Server.