The LMX_GetError function returns an error structure containing the complete error message.

Prototype

const LMX_ERROR_INFO *LMX_GetError
(
   LMX_HANDLE LmxHandle
);

Parameters

LmxHandle
[in] LM-X handle.

Return values

The return value is a pointer to a structure containing the error information. See the lmx.h header file for details on this structure.

Remarks

This function is useful for custom error processing, when you want to display the error message from LM-X in a custom format.

For each error message, you can retrieve a feature name to which the error applies, a context-specific error and an internal error code. Typically, the context-specific error and internal error code are used only by X-Formation for support purposes. 

Note: LMX_GetErrorMessage prints the same error information, but the output is formatted.

Example

The following example shows an error caused by checking out a non-existent feature. It also shows information contained in the LMX_ERROR_INFO structure and calls an exit() function.

#include <lmx.h>
#include <stdio.h>

LMX_HANDLE h;

int main() 
{
  LMX_STATUS s;
  
  exit_on_error(LMX_Init(&h));
  if ((s = LMX_Checkout(h,"nonExistingFeature", 1, 1, 1)) != LMX_SUCCESS) 
  {
    const LMX_ERROR_INFO* ePtr = LMX_GetError(h);
    fprintf(stderr, "Status: %s\n", LMX_GetErrorMessageSimple(s));
    fprintf(stderr, "Line: %d\n", ePtr->nInternal);
    fprintf(stderr, "Error code: %d\n", ePtr->nContext);
    fprintf(stderr, "Description: %s\n", ePtr->szDescription);
    fprintf(stderr, "Feature: %s\n", ePtr->szFeatureName);
    fflush(stderr);
    exit(1);
  }
  return 0;
}