第四章 Caché 命令大全 CONTINUE 命令

    技术2026-10-07  2

    文章目录

    第四章 Caché CONTINUE 命令 重点大纲参数 描述参数pc 示例

    第四章 Caché CONTINUE 命令

    跳出本次循环For、While或Do While命令并重新执行循环。

    重点

    CONTINUE 命令 只在块级语法有效。

    大纲

    CONTINUE:pc

    参数

    pc 可选,后置表达式

    描述

    CONTINUE命令在FOR、WHILE或DO WHILE命令之后的代码块内使用。 继续使执行跳回FOR、WHILE或DO WHILE命令。FOR、WHILE或DO WHILE命令测试条件,并基于该测试重新执行代码块循环。因此,CONTINUE命令对执行的影响与到达代码块的右大括号(})完全相同。

    Continue不接受任何参数(后置条件除外)。必须至少用两个空格将其与同一行上紧随其后的命令隔开。

    CONTINUE可能导致执行跳出TRY或CATCH块以返回其控制流语句。

    参数

    pc

    可使命令具有条件的可选后置条件表达式。如果后置条件表达式为TRUE(计算结果为非零数值),则Caché执行CONTINUE命令。如果后置条件表达式为假(计算结果为零),则Caché不执行该命令。

    示例

    下面的示例将CONTINUE与后置条件表达式一起使用。它遍历并打印出从1到10的所有数字,3除外:

    /// d ##class(PHA.TEST.Command).TestContine() ClassMethod TestContine() { FOR i=1:1:10 { IF i # 2 { CONTINUE:i=3 WRITE !,i," 是奇数" } ELSE { WRITE !,i," 是偶数" } } WRITE !,"结束循环" QUIT } DHC-APP>d ##class(PHA.TEST.Command).TestContine() 1 是奇数 2 是偶数 4 是偶数 5 是奇数 6 是偶数 7 是奇数 8 是偶数 9 是奇数 10 是偶数 结束循环

    下面的示例显示两个嵌套的for循环。Continue跳回到内部循环中的for:

    /// d ##class(PHA.TEST.Command).TestContineFor() ClassMethod TestContineFor() { FOR i=1:1:3 { WRITE !,"外部循环: i=",i FOR j=2:2:10 { WRITE !,"内部循环: j=",j IF j '= 8 { CONTINUE } ELSE { WRITE !," 输出8" } } WRITE !,"回到外部循环" } QUIT } DHC-APP>d ##class(PHA.TEST.Command).TestContineFor() 外部循环: i=1 内部循环: j=2 内部循环: j=4 内部循环: j=6 内部循环: j=8 输出8 内部循环: j=10 回到外部循环 外部循环: i=2 内部循环: j=2 内部循环: j=4 内部循环: j=6 内部循环: j=8 输出8 内部循环: j=10 回到外部循环 外部循环: i=3 内部循环: j=2 内部循环: j=4 内部循环: j=6 内部循环: j=8 输出8 内部循环: j=10 回到外部循环

    以下示例显示退出TRY块的CONTINUE。CONTINUE跳回到TRY块外部的FOR语句。

    /// d ##class(PHA.TEST.Command).TestContineTry() ClassMethod TestContineTry() { FOR i=1:1:10 { WRITE !,"For循环的顶部" TRY { WRITE !,"在TRY块中: i=",i IF i=7 { WRITE " 幸运7" } ELSE { CONTINUE } } CATCH exp { WRITE !,"Catch块异常处理程序",! WRITE "Error code=",exp.Code RETURN } WRITE !,"FOR循环的底部" } QUIT } DHC-APP>d ##class(PHA.TEST.Command).TestContineTry() For循环的顶部 在TRY块中: i=1 For循环的顶部 在TRY块中: i=2 For循环的顶部 在TRY块中: i=3 For循环的顶部 在TRY块中: i=4 For循环的顶部 在TRY块中: i=5 For循环的顶部 在TRY块中: i=6 For循环的顶部 在TRY块中: i=7 幸运7 FOR循环的底部 For循环的顶部 在TRY块中: i=8 For循环的顶部 在TRY块中: i=9 For循环的顶部 在TRY块中: i=10
    Processed: 0.014, SQL: 9