Friday, April 1, 2005

Getting a handle on LotusScript error handling

PROGRAMMING POWER

By Tony Patton

One part of Domino development that's often overlooked is error handling. While errors may be caught, many developers may not understand the nature of the error. For example, a bit of LotusScript code may return the error 4001, but where's a description of this error?

The answer lies in a few text files in your base Notes directory (c:&#92notes). The following list contains the files included with a standard install.

  • lsconst.lss is a list of constants (like the ones used with MessageBox).
  • lsxuierr.lss lists user interface errors.
  • lsxbeerr.lss is a list of more errors.
  • lserr.lss is a compilation of basic LotusScript errors.

You can open these files in your favorite editor and search for the error number to get a better idea of the problem. Now, the additional information found in these files isn't exactly user-friendly, but it does provide more clues.

For example, error 4001 includes the following information: lsERR_SYS_OUT_OF_MEMORY. It looks like a memory problem that may be caused by the code--check the object cleanup or data structure sizes.

In LotusScript, you can utilize these numbers with the On Error statement. The following line tells the code to jump to the designated code label when error 4001 is encountered:

On Error 4001 Goto Handle4001Error

The Java try/catch block may be used as well. By using the error code files above, tracking down the cause of your errors may just go a little smoother and your life a little easier.