Run-time Error Messages
This chapter describes the run-time error messages in the LotusScript® language.
- User-defined error
- RETURN without GOSUB
- Illegal function call
The following conditions could have caused this error: - Overflow
The result of a numeric operation, value conversion, or assignment is outside the range of allowable values for the result data type. - Invalid ^ operator operands
- Out of memory (runtime error)
There is not enough system memory to perform an operation. - Subscript out of range
When accessing an array, either the number of subscripts does not match the given array's defined dimensions, or the size of one or more subscripts does not match the given array's bounds. - Expression out of range
You used a numeric expression whose value at run time is out of the legal range, in one of these contexts: - Duplicate PUBLIC name in USE module: <module name>
- Division by zero
In a mathematical operation, there was an attempt to divide by zero. It is impossible to divide by zero. - Type mismatch
This error occurs when LotusScript code tries to use a value of the wrong datatype for the context in which it is used. - Out of string space
There is too little available memory for string storage, either at compile time or at run time. - No RESUME
- RESUME without error
- Out of stack space
One of the following conditions could have caused this error: - Sub or function not defined
- Error in loading DLL
- Bad DLL calling convention
You are using a C-callout function to call a DLL entry point with a different calling convention than the one used to implement the DLL entry point. - Internal error
An internal error occurred. - Bad file name or number
You tried to access a file that does not exist, or you specified a file number that is currently not assigned to a file. For example, using Print # to print to a file that has not first been opened generates this error. - File not found
You referred to a file that cannot be found. - Bad file mode
- File already open
- Device I/O error
The following conditions could have caused this error: - File already exists
You tried to create a file with the same name as a file that already exists on disk. - Bad record length
- Disk full
You tried to save a file on a disk that did not have enough room for the file. - Input past end of file
One of the following conditions could have caused this error: - Bad record number
You tried to read from a file using a record number that is either invalid (negative) or out-of-bounds (larger than the number of records in the file). - Bad file name
You specified a file using an invalid DOS file name. - Too many files
You have too many files open in LotusScript. - Device unavailable
You specified an invalid drive. - Permission denied
One of the following conditions could have caused this error: - Disk not ready
The disk drive door is not closed. - Cannot rename with different drive
- Path/file access error
One of the following conditions could have caused this error: - Path not found
You specified a path that cannot be found. - Object variable not set
You tried to access an instance of a LotusScript class or product class, but either of the following was true: - FOR loop not initialized
One of the following conditions could have caused this error: - Invalid pattern string
- Invalid use of NULL
You tried to convert a NULL value to another value type. NULL cannot be converted to another value type. - Cannot destroy active instance
You attempted to delete an instance of a class that is still in use in your program. - File not writable
You tried to write to a file that is marked read-only on disk. - File not readable
- Illegal file number
- File not open
In a statement or function that requires an open file, you specified a file that is not open. - Conflicting modes supplied
- Unable to open file
The following conditions could have caused this error: - Illegal operation for file mode
- Data too big for record
You tried to write data into a record that is too small for the amount of data you are writing. - Bad attribute
- Cannot set attribute for file
- List item does not exist
You used a list tag that does not exist in a list. - Cannot find module <lt;module name>gt;
- Cannot find external name <name>
- Type mismatch on external name <name>
- Module already loaded
- Invalid module file
You tried to use a module that is incompatible with this release of LotusScript. - Compiler error
The function signature of an external C-callout function has been corrupted. - Opcode <opcode name> not implemented
A required operation code has not been implemented. - Named product object does not exist
You tried to use a product object that does not exist. - ADT error: Control procedure missing
The IBM® software from which you invoked LotusScript is missing a procedure needed to manage product objects. - Bad argument to external function
- Unsupported argument type to external function
- Unsupported return type for external function
- External function not found
- Event handler not attached
- Module in use
You tried to unload the currently running module. - Illegal circular USE: <module name>
- Too many calls into module
You have exceeded the allowable maximum number of nested calls to functions or subs within a single module. - LISTTAG argument not a list element
- Illegal REDIM of fixed array
- Array size exceeds maximum limit
The total storage space in memory of the dynamic array exceeds the allowable maximum of 64K. For example: - Illegal LIKE pattern
- Error in constant expression evaluation
An error occurred in evaluating a constant expression. The error is explained in one of the following messages: - Operation not supported on this platform
You tried to use a LotusScript function, statement, or directive that your operating system does not support. For example, the CreateObject statement is not supported under OS/2 or UNIX. - Type suffix does not match actual data type
You referred to a variable, constant, function, or property with a data type suffix character that does not match its declared data type. For example: - Instance member does not exist
You referred to a nonexistent member of a class. For example: - Variant does not contain an object
You referred to a variable of type Variant as though it contained an object reference, but no such reference has been assigned to it. For example: - Variant does not contain a container
You referred to a variable of type Variant as though it held an array or list, but it does not hold one of these. For example: - Wrong number of arguments for method
You called a function or sub that is a member of a user-defined class and passed it either too few or too many arguments. For example: - Name used as a method is not a method
You referred to something as though it were a member function or sub of a class when no such function or sub has been defined for that class. For example: - Illegal use of sub
You defined a sub as a member of a class and then referred to that sub as though it were a member function, property, or variable. For example: - Illegal use of function
You defined a function as a member of a class and specified its return type as something other than Variant or object reference. You then referred to that function as though its return type were an object reference or a Variant holding an array, list, or object reference. For example: - Illegal use of property
You defined a property as a member of a class and then referred to that property in an inappropriate way. For example: - Illegal use of read-only property
You tried to assign a value to a property of a product object, but the product has defined that property to be read-only. This means that you can retrieve but cannot assign that property's value. - List reference must contain exactly one subscript
You declared a list variable as a class member. When you subsequently referred to that list, you either omitted a subscript or included more than one subscript. A reference to a list must include one, and only one, subscript. For example: - Illegal DELETE
- Not a product object
- Event does not exist
- Event handler argument count mismatch
- Event handler argument type mismatch
- Not a PUBLIC member
You referred to a variable, property, function, or sub that was defined as a Private member of a class. Private members are not visible outside of the class to which they belong. For example: - Missing argument
You called a member sub or function of a product class and omitted one or more of the arguments that it expected. For example, assume a product class Walden that has a member sub Move that has two integer parameters: - Operation is disallowed in this session
The product from which you are running LotusScript has disabled the function, statement, or directive that you attempted to use. - Attempt to access an uninitialized dynamic array
Either of the following situations could have produced this error: - Error loading USE or USELSX module
- Wrong number of collection indices
You used more than a single subscript in referring to a member of a collection. For example, assuming a collection class IntegerCollection: - Not a collection object
You referred to a product object as though it were a collection, but it isn't a collection. For example, assuming the product class ProdADT, which is not a collection class: - Collection item not found
You tried to refer to a nonexistent member of a collection. For example, assuming a collection class IntegerCollection: - Underflow
An internal error occurred. - SET required on class instance assignment
- Invalid Collection item
You attempted to access a member of a collection, but the product was unable to comply with your request correctly. - Automation-Object error
An error occurred when you tried to refer to an OLE Automation object. - Automation-Object cannot create
- Automation-Object file name error
- Automation-Object member not found
You referred to an undefined member of an OLE Automation object, or you attempted to assign a value to an OLE Automation object property that is read-only. - Automation-Object argument count
You called a method of an OLE Automation object and included too few or two many arguments. The number of arguments must be the same as the number of parameters defined for the method. - Automation-Object argument type mismatch
You called a method of an OLE Automation object and included one or more arguments whose data type differs from the corresponding parameters in the method's definition. The data type of each argument must be the same as the data type of the corresponding parameter. - ForAll container invalid or modified
You tried to assign a value to the target in a ForAll block. For example: - Out of system stack space
You entered an expression that LotusScript is unable to evaluate because the expression contains too many elements. For example, an expression consisting of hundreds of values separated by arithmetic operators would cause this error because the result of each individual arithmetic operation has to be saved on the stack until they can all be combined to calculate the value of the expression as a whole, and there isn't enough room on the stack to save them all. - Illegal REDIM
You used a ReDim statement in a context in which it is inappropriate: - Error creating product object
You tried to create an instance of a product class but the product encountered an error condition (such as Out of Memory) and was unable to create the object. - Error accessing product object property
You tried to refer to a property of an instance of a product class but the product encountered an error condition when you tried to do so. - Error accessing product object method
You tried to refer to a method (member sub or function) of an instance of a product class but the product encountered an error condition when you tried to do so. - Error accessing product object
You tried to delete an instance of a product class but the product encountered an error condition when you tried to do so. - Error in EVALUATE macro (message 2)
- Event handler return type mismatch
The return type of the event does not match the return type of the function when attaching an event function to an object through a variant. - Event handler procedure type mismatch
The event handler for an object is a sub and the user-defined procedure is a function, or vice-versa, when attaching an event handler to an object through a variant. - Wrong number of arguments for PROPERTY
The number of parameters do not match when accessing an object property through a variant. - Illegal use of MEMBER
An argument list is specified when accessing an object member variable through a variant. - PROPERTY SET not defined
A set operation is attempted through a variant on an object property that does not define Property Set. - PROPERTY GET not defined
A get operation is attempted through a variant on an object property that does not define Property Get. - String too large
A string is generated at run-time that exceeds the size limit of 32,000 characters. - Variable is read-only
A set operation is attempted on a product variable that is read-only. - Unknown class instance
An product object is returned for a class not registered with LotusScript. - Cannot assign into collection item (through variant)
An attempt is made to write to a member when accessing a collection object through a variant. - Wrong number of array subscripts
An array access through a variant has the wrong number of subscripts.
Parent topic: LotusScript Language