delphi的exit,continue,halt,runerror的区别;

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。
}

posted @ 2013-01-04 17:14  Hey_D  阅读(238)  评论(0编辑  收藏  举报