首页 > 编程语言 >程序流程的控制 Abort Exit Halt RunError Continue Break Sleep

程序流程的控制 Abort Exit Halt RunError Continue Break Sleep

时间:2024-03-17 10:33:43浏览次数:19  
标签:RunError end Halt except 程序流程 try Abort Exit 执行

Break

退出当前循环体,包括for ,while, repeat等循环体;

Continue

用于从For语句,while语句或repeat语句强行结束本次循环,并开始下一次循环;

Exit

跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码),

若该代码为主程序,则终止该程序,若是函数或过程,则立即退出过程或函数;

正常退出,如果在 try 块中, finally 的程序会执行;

举例:

procedure TForm2.btn1Click(Sender: TObject);
begin
  try
    try
      Exit;

    except
      OutputDebugString('except'); //这里不会,因为没有发生异常,是正常退出
    end;
  finally
    OutputDebugString('finaly');  //这里会输出
  end;
end;

Abort

激发异常退出,安静处理,就是不弹框提示报错,是一个不出现对话框的异常;如果在 try 块中,except 和 finally 的程序会执行,举例:

procedure TForm2.btn1Click(Sender: TObject);
begin
  try
    try
      Abort;

    except
      OutputDebugString('except'); // 这里会输出
    end;
  finally
    OutputDebugString('finaly');  //这里会输出
  end;
end;

image

Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = RaiseException(),是一个不出现对话框的异常。所以 Abort 的行为和异常是一样的,其代码执行顺序也是follow异常的流程。

image

image

Exit 与 Abort 区别

举例1:

try
  (1) //执行了
  abort;
  (2) //不执行
except
  (3) //执行了
end;
try
  (1) //执行了
  exit;
  (2) //不执行
except
  (3) //不执行了
end;

用 Abort 能够执行 except 里边的代码,但是如果用 Exit,就直接离开,不管 except。

示例2:

procedure p1;
begin
  p2;
  p3;
end;
procedure p2;
begin
  abort; //exit;
end;
procedure p3;
begin
  //showmessage()..
end;

如果用 Abort,则执行不到 P3,如果用 Exit 就能够执行到 P3;

Halt

非正常结束程序,可有 Integer 参数给操作系统,windows 程序一般使用:Application.Terminate,用于强行终止应用程序的执行,返回操作系统(非正常退出方式)。

RunError

生成一个运行时错误,并退出程序。参数是 Byte 型,默认0,终止程序的执行,并产生运行错误(返回错误代码);

Sleep

暂定线程多少毫秒;

标签:RunError,end,Halt,except,程序流程,try,Abort,Exit,执行
From: https://www.cnblogs.com/del88/p/18078235

相关文章

  • 003-Java程序流程控制
    3.Java程序流程控制(重点)程序的三种控制结构3.1分支结构if,switch3.1.1ifif分支根据条件(真或假)来决定执行某段代码。if分支应用场景if第一种形式执行流程:首先判断条件表达式的结果,如果为true执行语句体,为false就不执行语句体。if第二种形式......
  • nsis打包安装程序流程
    使用HMNISEdit软件打包安装流程下面使用NSIS软件进行打包脚本编译成为setup.exe程序编译完成就会生成带图标的setup.exe程序了......
  • 一文掌握汇编语言 halt 命令
    汇编 halt 命令,是一条重复执行指定标号的循环命令。处理器暂停,直到出现中断或复位信号才继续,这篇文章主要介绍了汇编语言 halt 命令,需要的朋友可以参考下−目录汇编语言halt命令补充:halt命令手册参考实例:汇编语言halt命令汇编halt命令,是一条重复执行指定标号的循环命......
  • Java基础语法(下):程序流程控制
    程序流程控制顺序结构分支结构分支语句1:if-else结构if-else使用说明1、条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量2、语句块只有一条执行语句时,一对{}可以省略,但建议保留3、if-else语句结构,根据需要可以嵌套使用4、当if-else结构是“多选一”时,最......
  • Java基础的运算符和程序流程控制
    1.运算符计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符赋值运算符关系运算符逻辑运算符三目运算符位运算符1.1算术运算符算术运算符用在数学表达式中,它们的作用和在数......
  • Close,application.Terminate与halt有什么区别
    当Close是一个主窗体时,程序会退出.Close会发生FormClose事件,FormCloseQuery事件Halt会发生FormDestory事件,Application.Terminate以上三个事件都不会发生Application.Terminate就是程序结束了。整个程序结束运行,系统强行收回系统资源当主窗口关闭时或WM_QUIT消息触发时,Termina......
  • C++—程序流程结构
    4程序流程结构C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件是否满足,循环多次执行某段代码4.1选择结构4.1.1if语句作用:执行满足条件的语句if语句的......
  • system halt during installation with NV graphics card.
    Icheck,itseemsitisstuckat"GETubiquity/install_oem".Canyoucheck/var/cache/debconf/config.dat,iftheubiquity/install_oemvalueisTrue.itisin/usr/share/ubiquity/simple-pluginsscript,itsetthedbtotrueandgetitdirectlyin......
  • Mark Fan:A computational model study on the mechanical response mechanism of asp
    WuhanJiangxiaRoadandBridgeEngineeringCo.,LtdSchoolofCivilEngineeringandArchitecture,WuhanInstituteofTechnologyMarkFan 15927602711Introduction:Asphaltisacommonlyusedmaterialinroadconstruction,anditsmechanicalpropertiespl......
  • 48 最佳实践-性能最佳实践-Guest-Idle-Haltpoll
    48最佳实践-性能最佳实践-Guest-Idle-Haltpoll48.1概述为了保证公平性及降低功耗,当虚拟机vCPU空闲时,虚拟机将执行WFx/HLT指令退出到宿主机中,并触发上下文切换。宿主机将决定在物理CPU上调度其他进程或vCPU,或进入节能模式。但是,虚拟机和宿主机之间的切换、额外的上下文切换以及......