Displaying+program+errors+in+a+message+box

//by Jon Ripley, July 2006//

To display a program error in a message box use code similar to the following: code format="bb4w" ON ERROR SYS "MessageBox", @hwnd%, REPORT$ + " at line " + STR$ERL, "Error", 48:QUIT code

If you replace by zero the result will be the same, except on non-English versions of Windows when the appropriate foreign language equivalent of **Error** will be used:

code format="bb4w" ON ERROR SYS "MessageBox", @hwnd%, REPORT$ + " at line " + STR$ERL, 0, 48:QUIT code

For more complex error reporting or if you have a dedicated error handler you can place the above code in a procedure. To do this use code similar to the following at the start of your program: code format="bb4w" ON ERROR PROC_reporterror:QUIT code Here we call **PROC_reporterror** and terminate the program.

For unreleased programs use code similar to the following: code format="bb4w" DEF PROC_reporterror SYS "MessageBox", @hwnd%, REPORT$ + " at line " + STR$ERL, 0, 48 ENDPROC code

For released programs, it is often wise to give users more information with error reports. Asking the user to contact you with sufficient information for you to correct the error is a good idea.

To do this use code similar to the following: code format="bb4w" DEF PROC_reporterror LOCAL msg$, @% msg$ = REPORT$ IF ERL msg$ += " at line " + STR$ERL SYS "MessageBox", @hwnd%, msg$ + CHR$13 + CHR$13 + \ \ "Please contact the program author stating details" + CHR$13 + \ \ "of this error and how to reproduce it.", \ \ "An error has occurred", 48 ENDPROC code Change the text of the error report to suit your needs; for instance, you might want to include a contact email address.