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