Delphi中exit、break、continue等跳出操作的区别
Delphi中表示跳出的有break,continue,abort,exit,halt,runerror等
1.break
强制退出最近的一层循环(注意:只能放在循环里;而且是只能跳出最近的一层循环),用于从for、while、repeat语句中强制退出
类似于C/C++等语言中的break的功能
2.continue
用于从for、while、repeat语句中结束循环内的本次处理,继续从循环体的开始位置继续执行
类似于C/C++等语言中的continue的功能
3.exit
用于从当前代码块中退出。
若该代码是主程序,则终止该程序。
如果是函数或过程,则立即终止该函数或过程
4.abort
终止程序需的运行,产生不报错的异常信息。跳出祖先模块。和exit的区别是
procedure p1; begin p2; p3; end; procedure p2; begin abort; //或者exit; end; procedure p3; begin //进行一些操作 end;
在执行p1的时候,如果p2里面用abort,则执行不到p3
如果使用exit,就能够执行到p3,因为exit只能控制终止它所在的函数或过程,不能终止调用它所在函数的那个代码块。如果用exit终止它所在的那个函数之后,会跳回调用这个函数的代码块,继续执行之后的代码
5.halt
用于强行终止应用程序的执行,返回操作系统(非正常退出方式)
6.runerror
终止程序的执行,并产生运行错误(返回错误代码)
分类:
Delphi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现