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

暂定线程多少毫秒;

posted on   del88  阅读(23)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示