Exit和Abort有什么区别和联系
2008-07-24 10:15
483 查看
Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。
Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = RaiseException(),是一个不出现对话框的异常。所以 Abort 的行为和异常是一样的,其代码执行顺序也是follow异常的流程。
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = RaiseException(),是一个不出现对话框的异常。所以 Abort 的行为和异常是一样的,其代码执行顺序也是follow异常的流程。
例如: try (1) //执行了 abort; (2) //不执行 exception (3) //执行了 end;用 Abort 能够执行 exception 里边的代码,但是如果用 Exit,就直接离开,不管 exception。例如:
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
如果用 Abort,则执行不到 P3,如果用 Exit 就能够执行到 P3。 例子: ....................... var i : integer; begin for i :=0 to 10 then begin if i=1 then exit/abort;//exit将直接跳出该过程 abort中断循环但下面的过程继续执行 end; ................. end; Exit直接退出,Abort还要执行except后的错误信息。
相关文章推荐
- Exit和Abort有什么区别和联系
- 科普丨数据中心、云计算、大数据之间有什么区别和联系?
- 在VS开发中,Windows Form中的构造函数跟Form1.Load()有什么区别和联系
- C#和Java有什么区别和联系
- 什么叫栈?什么叫堆?堆与栈的联系与区别
- 线程是什么?进程是什么?二者有什么区别和联系?
- Hadoop与MPP是什么关系?有什么区别和联系?
- C++中abort()函数与exit()函数区别
- android中handler和bundle有什么区别和联系 都是用来传递消息吗都是信息的载体吗
- 磁盘阵列,RAID 10和RAID 0,RAID 1,RAID 01有什么区别和联系
- listview 和 listwiget 有什么区别联系
- python 中 os._exit(), sys.exit(), exit() 的区别是什么?
- 配置管理系统和整体的变化对系统有什么区别和联系
- 分析 "End" "Unload Me" "Exit Sub" 之间的区别与联系
- HDC,CDC,CClientDC的区别和联系是什么? (转)
- MFC中,什么是CALLBACK函数,什么是WINAPI函数,二者有什么区别和联系?
- 什么叫基本表?什么是视图?二者的区别和联系是什么?
- android中handler和bundle有什么区别和联系 都是用来传递消息吗都是信息的载体吗
- C语言中exit(0)与exit(1)有什么区别
- 进程和线程的区别与联系是什么?