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.