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.