vbCodeShield Error handling walkthrough

What the user will see

If your project should encounter an unexpected run-time error, the situation without a specific error handler is pretty grim:

 

The dialog above is all the information Visual Basic will give your users about the problem that has just occured.  Not only does it make identifying the fault difficult, it presents a poor impression to the users of your software.

If you have used vbCodeShield with your project, the outlook is a great deal brighter.  They will see the following dialog for the same error as above:

Not only is the dialog more informative, the user now has options.  If you support it as the software producer, and they choose to, they can go on-line to your support site to diagnose the problem.  If the user decides to go on-line and diagnose the problem, they will prompted to supply some information about themselves and some basic information about the actions that led to the problem:

After which the connection to the support web server will be made and error information obtained.  An example diagnosis summary showing a problem as yet unresolved looks as follows:

So, even if no other users have encountered this unexpected error before, within a few seconds the user knows that they have reported this issue fully, and are able to request notification when the problem is resolved.  This may not resolve the actual issue, but will provide a feeling that something is being done about it and gives a user friendly interface to the error reporting process not usually found in even the most popular commercial software products.

Even better than the situation above, you may have already resolved the issue they are encountering and in which case they would be shown the following dialog:

From the summary, the user can obtain detailed resolution information (if available) and a fix (if available) just by clicking on the hyperlinks.  Imagine, within a few minutes of encountering a problem, the user can have fixed it and moved on, improving their impression of you as a company or individual and increasing their confidence in the software product.

Click here to see a sample knowledge base arcticle produced when the user clicks 'View the knowledge base article for this error'.

The error diagnosis information is cached locally, so that the user does not have to re-connect if the problem recurrs (although they can refresh if they wish and are prompted to do so if a significant period of time has elapsed since the original diagnosis was obtained).