The Loupe Agent has several built in error management facilities that work together to:
These capabilities are combined into the Loupe Error Manager.
Once added to an application, the Loupe Agent activates the Error Manager which will attempt to trap exceptions that would otherwise cause the application to crash and instead record their details in the log and display a friendly notification box. If the application can't safely continue, the notification box will indicate that to the user as well.
If your application is not a WinForms application, the error notification box will not be displayed but the error information will be captured and stored. This is done automatically to ensure safe behavior in applications that can't display dialogs.
If you have your own primary exception handling capability, you may want to turn off the exception handler built into the Error Manager. This is particularly important with WinForms applications because there can be only one error handler for application exceptions. To disable the built in exception handler, see Developer's Guide - Listener Configuration. Even when disabled you can still take advantage of the error notification box by forwarding exceptions to the Loupe API. For more information, see the Loupe API.
The Error Manager is designed to work well in multithreaded applications. It allows each error to decide whether to wait for the user to close the notification dialog to continue or to continue execution immediately. This enables safe error management with long running applications that shouldn't waste time by stopping when an error happens but need to notify the user. For more information, see the Loupe API.
The last thing you want when your software is having a problem is to add to the frustrations of your users. The Error Manager includes an intelligent notification dialog that adapts to the specific situation your application is in.
Simple Error Notification |
Designed to comply with the latest usability guidelines from Microsoft, this dialog shows the user if they can continue running the application or not and gives them the option to restart the application.
If the application has already displayed the dialog once, the user can indicate they don't want to be notified of future problems in the current session and the dialog won't display again. This reduces user frustration when experiencing a cascade of errors.
Suppressing Errors with the Error Notifier |
If you have configured the Loupe Packager and include Gibraltar.Package.exe in the same directory as your application the user can also elect to report session data to you after the session exits. This is done silently in the background without getting in the way of the user restarting the application or going on with other work.
Sending Sessions on Exit with the Error Notifier |
Once this option is checked, the application will be configured to start the Packager after it exits. The packager will run without any user interface and will create a package for the current application containing all of the unsent session data available and then email that to the destination address you've configured.