Step 7: Error Handling

The Return Codes pages explain the three categories of runtime return codes: status codes, non-fatal error codes and fatal error codes. The SDK sample samples/native/core/06_errorhandling_statuscode demonstrates a status return code and how applications check the status of various runtime function calls. The sample emphasizes the fact that status codes like MCO_S_NOTFOUND, MCO_S_DUPLICATE and MCO_S_CURSOR_END may be part of normal operations. Non-fatal error conditions are demonstrated in 06_errorhandling_nonfatalerr.

In contrast, fatal error conditions require special handling and are likely to indicate implementation errors, as shown in sample 06_errorhandling_fatalerr. It is common practice to register a fatal error handler, as seen in prior samples, to halt the application if a severe runtime error is encountered. This is demonstrated in samples 06_errorhandling_fatalerr and 06_errorhandling_fatalerrex.

There are many more specialized examples in the SDK samples; developers are encouraged to build and run other SDK samples of interest and examine the source code to gain further understanding of eXtremeDB implementation.