Error Messages

WHEN you compile a ViviFire program, errors can occur. What follows is a list of error messages and how you can correct your code.

Argument BEGIN must be last one in list
Argument list must be between parentheses ('(' ')') because of @OPTION
Bad assignment operator
Bad escaped name or character literal - usually caused by missing backtick ('`')
Bad fixed constant
Bad floating-point literal
Bad integer literal
Bad modifier
Bad string constant. Possibly you want two quotes ('\
Bad string literal - usually caused by missing quote(s) ('\
Bad symbol
BEGIN without NEW or WHEN
Bit field not permitted here
CALL BASE is available only in a CONSTRUCTOR
CALL CONSTRUCTOR is available only in a CONSTRUCTOR
Cannot have expression after TOL clause
Cannot have GET with @WriteOnly
Cannot have more than one statement after THEN or ELSE
Cannot have SET with @Iterator or @ReadOnly
Cannot have SET with dictionary access
Cannot use @OPTION after @OPTION LAST
Cannot use @WRITEONLY with default property
Cannot use a constant value here
Cannot use ANSI with UTF16
Cannot use BEGIN in procedure call
Cannot use BYREFwith OPTIONAL
Cannot use CASE after SELECT because of @OPTION
Cannot use DIM/VAR with default property
Cannot use EXIT in FINALLY
Cannot use EXIT PROGRAM in LIBRARY
Cannot use GOTO CASE in FINALLY
Cannot use METHOD in PROGRAM module
Cannot use UTF16 with ANSI
Cannot use WHERE after a list
Cannot use YIELD in CATCH or FINALLY
Cannot use YIELD without @ITERATOR on procedure
CASE cannot follow CASE ELSE in SELECT
CASE ELSE cannot be first CASE in SELECT
CASE without SELECT
CATCH without TRY
CLASS without END
CONSTRUCTOR DIM/VAR must have a parameter list
CONSTRUCTOR without CLASS or STRUCT
CONSTRUCTOR without END
DECLARE without END
Declared element is missing generic type parameter(s)
DESTRUCTOR without CLASS
DESTRUCTOR without END
Dictionary-access property must have one parameter
DO WHILE/UNTIL cannot have LOOP WHILE/UNTIL
DO without LOOP
ELSE or ELSE IF cannot follow ELSE
ELSE without IF
END cannot have block type because of @OPTION
END cannot have type name because of @OPTION
END cannot have block type because of @OPTION
END FOR cannot have name because of @OPTION
END FOR must have name because of @OPTION
END must have block type because of @OPTION
END type name must be the same as NEW type name
END without block. Possibly you want EXIT PROGRAM.
ENUM without END
Enumeration constant must have an initializer because of @OPTION
Enumeration must have a base type (IS) because of @FLAGS or @OPTION
Enumeration must have a name because of @FLAGS, @OPEN, or @OPTION
Event handlers cannot have a return type
EXIT cannot be first statement in loop. Possibly you want EXIT WHEN.
EXIT CONSTRUCTOR without CONSTRUCTOR
EXIT DO without DO
EXIT FOR without FOR
EXIT FUNCTION without FUNCTION
EXIT label without EXIT WHEN
EXIT list can use only DO or FOR or WHILE
EXIT METHOD without METHOD
EXIT PROPERTY without PROPERTY
EXIT SUB without SUB
EXIT WHEN cannot have two of the same label
EXIT WHILE without WHILE
External library must be a string constant
FINALLY without TRY
First argument is missing
FOR without END
FUNCTION must have a return type
FUNCTION without END
GET without PROPERTY
GOTO CASE without SELECT
IF cannot have THEN because of @OPTION
IF must have THEN because of @OPTION
IF must use block construct because of @OPTION
IF without END
IF-THEN-ELSE must be between parentheses
IN and OUT are permitted only with EVENT and TRAIT
Invalid Constraint
Invalid directive or modifier
Invalid name caused by incorrect file encoding. Write the file again as "UTF-8 with BOM"
Last argument is missing
Loop cannot have more than one WHEN BEGIN
Loop cannot have more than one WHEN EACH/ELSE
Loop cannot have more than one WHEN with the same label
LOOP without DO
Method must have return type because of modifier(s)
METHOD without END
More left braces than right
More left parentheses than right
More right braces than left
More right parentheses than left
Must use backslash because of @OPTION
Must use DIM because of @OPTION
Must use EACH because of @OPTION
Must use ELSE because of @OPTION
Must use SELECT CASE because of @OPTION
Must use slash because of @OPTION
Must use VAR because of @OPTION
Namespace or type name expected
NEW...BEGIN without END
Newline or inline comment must follow line continuation
Number before unit name must be 0, 1, or 2
Object BASE is available only in a child class
OBJECT cannot have CONSTRUCTOR
OBJECT cannot have DESTRUCTOR
OBJECT without END
Optional parameter must have initializer because of @OPTION
PROPERTY without END
RAISE expression is mandatory here
REM is not a comment. Possibly you want ' or //
REQUIRE must be before statements
SELECT must have a minimum of one CASE
SELECT without END
SELF constraint only available in CLASS and TRAIT
SET must have one parameter
SET without PROPERTY
Statement not permitted in collection initializer
STRUCT cannot have CLASS member
STRUCT cannot have DESTRUCTOR
STRUCT without END
SUB must have return type because of modifier(s)
SUB without END
THEN without IF
This statement not permitted with one-line IF...ELSE
Too many arguments for MOD or REM
TRAIT without END
TRY without END
Unit name cannot have a plural part after 1 or 2
Unknown identifier. After @SI only BINARY, LARGE, and SMALL are available.
Unknown identifier. After @TEST, only IGNORE is available.
Unknown identifier. After DECLARE only ANSI, CDECL, and UTF16 are available.
Unknown or missing option
UNTIL without DO or LOOP
WHEN label must be declared at EXIT WHEN because of @OPTION
WHEN without EXIT WHEN
WHERE is not permitted here
WHERE must be on the same logical line as REQUIRE
WHILE without END