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.