So you are writing a program and you want to be notified every time there is a specific error. The built-in solution offered by most developers is to trap the error and display the error message as a message box on the screen or maybe just log the contents of the error to a text file or error table in a database. The development and support teams are often disconnected from the error monitoring process and are usually reacting to a call from the user reading the error message over the telephone, or the user is waiting for the developer to find the saved error message before they can start the troubleshooting process.
One simple solution, and it is often overlooked, is to have the application send a detailed error message to an email address. For internal software, it can be easily accomplished by creating a group email account, usually named something like “error firstname.lastname@example.org” and directing your programs to format a standard error message email and send the contents to the target email account. You then have a couple of people monitor that account and react to the emails as they are delivered.
For external software it is a little more difficult. The concept is the same, and you can allow the users to “opt-in” to the sending of the emails as a preference, or you can ask them to allow the email each time an error occurs. The email process is the same, and you can still have a couple of people monitoring the emails as they arrive.
In practice, you are calling the customer asking about the error before they even have a chance to call you. You are asking about the steps required to reproduce the error within minutes of the event, often while the error message is still on the screen. When is there a better time to conduct a user interview than seconds or minutes after the actual error has happened?
The email history will also allow you to report on the frequency of errors, the type of errors, who had the specific errors, etc. It isn’t as complex or as powerful as a full bug tracking solution, but it should cover the basics at almost no cost.
The development of the solution is fairly straight forward, so I won’t lay out the code for your specific solution. I will offer a basic example of an email format to help get you started. Only you know the specifics of what you need or want in a solution, but the time for creating a solution is now.