Default behavior in client LIBMI applications
If an exception occurs during the execution of a client LIBMI application
and the application does not register any callback to handle the exception,
the client LIBMI takes one of the following default actions.
Exception type | Default behavior |
---|---|
MI_Exception | The client LIBMI executes the system-default callback.
The mi_default_callback() function implements this
system-default callback. An unhandled MI_MESSAGE does not halt execution
of the current statement. The DataBlade
API passes
the warning to the client LIBMI application, and processing continues
at the next statement of this client application. An unhandled MI_EXCEPTION aborts execution of the current statement in the client LIBMI application. The DataBlade API passes the error to the client LIBMI application and returns control to this client application. |
MI_Xact_State_Change | An unhandled MI_Xact_State_Change does not halt execution of the current statement. Processing continues at the next statement of the client LIBMI application. |
MI_Client_Library_Error | The client LIBMI executes the system-default callback. The mi_default_callback() function implements this system-default callback. |
On UNIX or Linux, the system-default callback causes the client LIBMI application to send an error or warning message to stderr in response to an unhandled exception.
On Windows, the system-default callback causes the client LIBMI to display an error or warning message in a Windows message box in response to an unhandled exception.
To prevent the execution of the system-default callback, use the mi_register_callback() function to register callbacks in the client LIBMI application.