Caché ObjectScript Reference
CONTINUE
[Back] [Next]
   
Server:docs2
Instance:LATEST
User:UnknownUser
 
-
Go to:
Search:    

Jumps to FOR, WHILE, or DO WHILE command and re-executes test and loop.
Synopsis
CONTINUE:pc
Argument
pc Optional — A postconditional expression.
Description
The CONTINUE command is used within the code block following a FOR, WHILE, or DO WHILE command. CONTINUE causes execution to jump back to the FOR, WHILE, or DO WHILE command. The FOR, WHILE, or DO WHILE command evaluates its test condition, and, based on that evaluation, re-executes the code block loop. Thus, the CONTINUE command has exactly the same effect on execution as reaching the closing curly brace ( } ) of the code block.
CONTINUE takes no arguments (other than the postconditional). At least two blank spaces must separate it from a command following it on the same line.
A CONTINUE can cause execution to jump out of a TRY or CATCH block to return to its control flow statement.
Arguments
pc
An optional postconditional expression that can make the command conditional. Caché executes the CONTINUE command if the postconditional expression is true (evaluates to a nonzero numeric value). Caché does not execute the command if the postconditional expression is false (evaluates to zero). For further details, refer to Command Postconditional Expressions in Using Caché ObjectScript.
Examples
The following example uses a CONTINUE with a postconditional expression. It loops through and prints out all the numbers from 1 to 10, except 3:
Loop
  FOR i=1:1:10 {
    IF i # 2 { 
      CONTINUE:i=3
      WRITE !,i," is odd" }
    ELSE { WRITE !,i," is even" }
    }
  WRITE !,"done with the loop"
  QUIT
 
The following example shows two nested FOR loops. The CONTINUE jumps back to the FOR in the inner loop:
Loop
  FOR i=1:1:3 {
    WRITE !,"outer loop: i=",i
    FOR j=2:2:10 {
      WRITE !,"inner loop: j=",j
      IF j '= 8 {CONTINUE  }
      ELSE { WRITE " crazy eight"}
      }
    WRITE !,"back to outer loop"
  }
  QUIT
 
The following example shows a CONTINUE that exits a TRY block. The CONTINUE jumps back to the FOR statement outside the TRY block.
TryLoop
  FOR i=1:1:10 {
  WRITE !,"Top of FOR loop"
    TRY {
    WRITE !,"In TRY block: i=",i
    IF i=7 {
      WRITE " lucky seven" }
      ELSE { CONTINUE }
    }
    CATCH exp {
       WRITE !,"CATCH block exception handler",!
       WRITE "Error code=",exp.Code
       RETURN
    }
    WRITE !,"Bottom of the FOR loop"
  }
  QUIT
 
See Also