A serious error during execution (such as attempting to access
a window that has not been opened) will trigger the SystemError
event in the Application object if you have not added exception
handling code to take care of the error.
If you do not write a SystemError script to handle these errors,
PocketBuilder displays a message box containing the following information:
There is also an OK button that closes the message box and
stops the application.
If there is a script for the SystemError event, PocketBuilder
executes the script and does not display the message box. Whether
or not you have added TRY/CATCH blocks
to your code to trap errors, it is a good idea to build an application-level
script for the SystemError event to trap and process any runtime
errors that have not been handled, as described in “Using the Error object”.
In the script for the SystemError event, you can access the
built-in Error object to determine which error occurred and where
it occurred. The Error object contains the properties shown in Table 25-4.
Table 25-5: Runtime errors
Number
|
Meaning
|
1
|
Divide by zero.
|
2
|
Null object reference.
|
3
|
Array boundary exceeded.
|
4
|
Enumerated value is out of range for
function.
|
5
|
Negative value encountered in function.
|
6
|
Invalid DataWindow row/column
specified.
|
7
|
Unresolvable external when linking reference.
|
8
|
Reference of array with null subscript.
|
9
|
DLL function not found in current application.
|
10
|
Unsupported argument type in DLL function.
|
11
|
Object file is out of date and must be
converted to current version.
|
12
|
DataWindow column type does not match
GetItem type.
|
13
|
Unresolved property reference.
|
14
|
Error opening DLL library for external
function.
|
15
|
Error calling external function name.
|
16
|
Maximum string size exceeded.
|
17
|
DataWindow referenced in DataWindow object
does not exist.
|
18
|
Function does not return value.
|
19
|
Cannot convert name in
Any variable to name.
|
20
|
Database command has not been successfully
prepared.
|
21
|
Bad runtime function reference.
|
22
|
Unknown object type.
|
23
|
Cannot assign object of type name to
variable of type name.
|
24
|
Function call does not match its definition.
|
25
|
Double or Real expression has overflowed.
|
26
|
Field name assignment
not supported.
|
27
|
Cannot take a negative to a noninteger
power.
|
29
|
Nonarray expected in ANY variable.
|
30
|
External object does not support data
type name.
|
31
|
External object data type name not
supported.
|
32
|
Name not found calling external object
function name.
|
33
|
Invalid parameter type calling external
object function name.
|
34
|
Incorrect number of parameters calling
external object function name.
|
35
|
Error calling external object function name.
|
36
|
Name not found accessing external object
property name.
|
37
|
Type mismatch accessing external object
property name.
|
38
|
Incorrect number of subscripts accessing
external object property name.
|
39
|
Error accessing external object property name.
|
40
|
Mismatched ANY data types in expression.
|
41
|
Illegal ANY data type in expression.
|
42
|
Specified argument type differs from
required argument type at runtime in DLL function name.
|
43
|
Parent object does not exist.
|
44
|
Function has conflicting argument or
return type in ancestor.
|
45
|
Internal table overflow; maximum number
of objects exceeded.
|
46
|
Null object reference cannot be assigned
or passed to a variable of this type.
|
47
|
Array expected in ANY variable.
|
48
|
Size mismatch in array to object conversion.
|
49
|
Type mismatch in array to object conversion.
|
51
|
Bad argument list for function/event.
|
58
|
Object instance does not exist.
|
59
|
Invalid column range.
|
60
|
Invalid row range.
|
61
|
Invalid conversion of number dimensional
array to object.
|
62
|
Server busy.
|
63
|
Function/event with no return
value used in expression.
|
64
|
Object array expected in left side of
assignment.
|
65
|
Dynamic function not found. Possible
causes include: pass by value/reference mismatch.
|
66
|
Invalid subscript for array index operation.
|
67
|
NULL object reference cannot be assigned
or passed to an autoinstantiate.
|
68
|
NULL object reference cannot be passed
to external DLL function name.
|
69
|
Function name cannot
be called from a secured runtime session.
|
70
|
External DLL function name cannot
be called from a secured runtime session.
|
71
|
General protection fault occurred.
|
72
|
name failed with
an operating system error code of number.
|
73
|
Reference parameters cannot be passed
to an asynchronous shared/remote object method.
|
74
|
Reference parameters cannot be passed
to a shared object method.
|
76
|
Passing NULL as a parameter to external
function name.
|
77
|
Object passed to shared/remote
object method is not a nonvisual user object.
|
79
|
The argument to name must
be an array.
|
81
|
Function argument file creator must be
a four character string.
|
82
|
Function argument file type must be a
four character string.
|
83
|
Attempt to invoke a function or event
that is not accessible.
|
84
|
Wrong number of
arguments passed to function/event call.
|
85
|
Error in reference argument passed in
function/event call.
|
86
|
Ambiguous function/event reference.
|
88
|
Cannot ask for ClassDefinition Information
on open painter: name.
|
90
|
Cannot assign array of type name to
variable of type array of name.
|
91
|
Cannot convert name in
Any variable to name. Possible cause uninitialized
value.
|
92
|
Required property name is missing.
|
96
|
Exception Thrown has not been handled.
|
97
|
Cannot save name because
of a circular reference problem.
|
98
|
Obsolete object reference.
|
Some errors terminate the application immediately. They do
not trigger the SystemError event.