procedure TForm1.btn1Click(Sender: TObject);
var i,j : integer;
begin
for j := 0 to 2 do
begin
for i := 0 to 2 do
begin
if i=1 then
Continue;//exit,halt,abort,runerror
ShowMessage(IntToStr(i));
end;
ShowMessage('q');
end;
end;
运行结果
0 2 q 0 2 q 0 2 q 然后回主界面
0 然后回主界面,
0 然后回操作系统,
0 然后回主界面
0,然后返回一个错误信息退出主界面;
说明:continue被使用在循环里时,则结束本次循环并且开始下次循环;
exit被使用在函数或过程中时,则终止该过程和函数;
被使用在主程序中时,则终止该主程序;
halt无论被使用在哪里,都会退出到操作系统;
runerror 返回到操作系统,病产生错误信息;
abort 中止程序的运行,产生不报错的异常信息。跳出祖先模块。
{
abort和exit的区别是:abort跳出祖先模块,exit跳出当前模块
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
如果用 Abort,则执行不到 P3,如果用 Exit 就能够执行到 P3。
}