(delphi11最新学习资料) Object Pascal 学习笔记---第9章(异常处理)

第9张 异常处理

​ 在继续介绍 Object Pascal 语言中类的其他特性之前,我们需要重点介绍一组用于处理错误条件的特殊对象,即异常。

​ 异常处理的理念是以一种简单、统一的方式添加处理软件或硬件错误(以及任何其他类型的错误)的功能,使程序更加健壮。程序可以在此类错误发生后继续运行,或优雅地终止,允许用户在程序退出前保存数据。异常允许你将错误处理代码从正常代码中分离出来,而不是将两者交织在一起。这样,你最终编写的代码就会更加紧凑,与实际编程目标无关的维护工作也会减少。

​ 另一个好处是,异常定义了一种统一、通用的错误报告机制,组件库也使用这种机制。在运行时,系统会在出错时引发异常。如果你的代码编写得当,系统就会确认问题并尝试解决问题;否则,异常就会传递给它的调用代码,如此循环。最后,如果你的代码中没有任何部分处理异常,系统一般会通过显示标准错误信息并尝试继续运行程序来处理异常。如果你的代码是在任何异常处理块之外执行的,那么引发异常将导致程序终止,这种情况不太常见。

Object Pascal 的整个异常处理机制是基于五个独立的关键字:

  • try 表示受保护代码块的开始
  • except 表示受保护代码块的结束,并引入异常处理代码
  • on 标记单个异常处理语句,与特定的异常类绑定,每个语句的语法都是:on 异常类型 do 语句
  • finally 用于指定即使出现异常也必须始终执行的代码块
  • raise 语句是用来触发异常的语句,它的参数是一个异常对象(这种操作在其他编程语言中称为 throw)。

​ 以下是 Object Pascal 与基于 C++ 异常语法的语言(如 C# 和 Java)中异常处理关键字的简单比较表:

try							try
except on				catch
finally					finally
raise						throw

​ 用 C++ 语言的术语来说,就是抛出一个异常对象并按类型捕获它。这在 Object Pascal 中也是一样的,你向 raise 语句传递一个异常对象,你接收它作为 except on 语句的参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/300678.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉——基于深度学习检测监控视频发生异常事件的算法实现

1. 简介 视频异常检测(VAD)是一门旨在自动化监控视频分析的技术,其核心目标是利用计算机视觉系统来监测监控摄像头的画面,并自动检测其中的异常或非常规活动。随着监控摄像头在各种场合的广泛应用,人工监视已经变得不…

JSP课设:学校招生系统(附源码+调试)

Java web学校招生系统 Java web学校招生系统功能概述 (1)登录模块:学校招生系统提供管理员和考生两者登录角色,分别对应不同的功能,登录信息存储在数据库中。 (2)前台浏览:学校招生…

YOLOV8 + 双目测距

YOLOV8 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov8-stereo.py 4. 实验结果4.1 测距4.2 测距跟踪4.3 测距跟踪分割4.4 视频展示 相关文章 1. YOLOv5双目测距(python&…

Docker之镜像与容器的相关操作

目录 一、Docker镜像 搜索镜像 下载镜像 查看宿主机上的镜像 删除镜像 二、Docker容器 创建容器 查看容器 启停容器 删除容器 进入容器 创建/启动/进入容器 退出容器 查看容器内部信息 一、Docker镜像 Docker 运行容器前需要本地存在对应的镜像, 如…

Dapr(三) Dapr核心组件的使用一

结合前两期 Dapr(一) 基于云原生了解Dapr(Dapr(一) 基于云原生了解Dapr-CSDN博客) Dapr(二) 分布式应用运行时搭建及服务调用(Dapr(二) 分布式应用运行时搭建及服务调用-CSDN博客) 下篇推出dapr服务注册与发现,dapr组件绑定,dapr Actor功能。 目录 1.…

SDWAN专线保护企业数据传输安全

企业数字化进程的加速和网络环境的复杂化,数据传输安全已经成为企业网络管理的头等大事。SD-WAN(软件定义广域网)作为一种新兴的网络技术,不仅能够提升网络性能和效率,还能够有效地保护企业数据传输的安全性。以下是SD…

项目架构MVC,DDD学习

写在前面 本文一起看下项目架构DDD,MVC相关的内容。 1:MVC 不管我们做什么项目,自己想想其实只是做了三件事,如下: 其实,这三件事完全在一个类中做完也可以可以正常把项目完成的,就像下面这…

论文阅读《Semantic Prompt for Few-Shot Image Recognition》

论文地址:https://arxiv.org/pdf/2303.14123.pdf 论文代码:https://github.com/WentaoChen0813/SemanticPrompt 目录 1、存在的问题2、算法简介3、算法细节3.1、预训练阶段3.2、微调阶段3.3、空间交互机制3.4、通道交互机制 4、实验4.1、对比实验4.2、组…

(Git) gitignore基础使用

文章目录 前言.gitignore 模式匹配注释 #转义 \直接匹配任意字符匹配 *单个字符匹配 ?目录分割 /多级目录 **范围匹配 []取消匹配 ! 检查是否生效父子文件END 前言 Git - gitignore Documentation (git-scm.com) 在使用git管理的项目中,可以通过.gitignore文件管理…

Java-类型转换

Java数据类型转换的规则掌握后,将使我们对以后的学习事半功倍,下面是我列出的一些重点。 类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。底到高依次是:byte,short,char->int->lo…

React - 连连看小游戏

简介 小时候经常玩连连看小游戏。在游戏中,当找到2个相同的元素就可以消除元素。 本文会借助react实现连连看小游戏。 实现效果 实现难点 1.item 生成 1. 每一个图片都是一个item,items数组的大小为size*size。 item对象包括grid布局的位置,…

代码+视频,手动绘制logistic回归预测模型校准曲线(Calibration curve)(2)

校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。 一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距 另外一种是calibrat…

【深度学习】StableDiffusion的组件解析,运行一些基础组件效果

文章目录 前言vaeclipUNetunet训练帮助、问询 前言 看了篇文: https://zhuanlan.zhihu.com/p/617134893 运行一些组件试试效果。 vae 代码: import torch from diffusers import AutoencoderKL import numpy as np from PIL import Image# 加载模型…

前端入门(认识HTML,CSS,JavaScript三件套)

目录 前言 HTML(构建) CSS(设计) JavaScript(互动) 总结 相关书籍推荐 前言 前端(Frontend)指的是与用户直接交互的部分,也称为客户端。在网站或者应用程序中&…

FIN和RST的区别,几种TCP连接出现RST的情况

一、RST跟FIN的区别: 正常关闭连接的时候发的包是FIN,但是如果是异常关闭连接,则发送RST包 两者的区别在于: 1.RST不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…

实战webSocket压测(三)Jmeter真实接口联调

背景: 接口地址为:ws://sunlei.demo 接口说明:websocket接口,首次连接,通过Text请求设置开启标志,然后通过wav文件流传输,达到后端服务可以根据传输信息进行解析满足指定标准后,web…

这就是AI眼中的物理世界:OpenAI Sora音乐短片《Worldweight》和超现实影片《气球人》

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

自定义gitlog格式

git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! 在使用git查看lo…

何为网络协议?一图知晓网络过程。

网络协议就是计算机之间沟通的语言 为了有效地交流,计算机之间需要一种共同的规则或协议, 就像我们和老外沟通之前,要先商量好用哪种语言, 要么大家都说中文,要么大家都说英语,这才能有效地沟通。 网络协…

JVM 全景图

今天我重新复习了一下 jvm 的一些知识点。我以前觉得 jvm 的知识点很多很碎,而且记起来很困难,但是今天我重新复习了一下,对这些知识点进行了简单的梳理之后,产生了不一样的看法。虽然 jvm 的知识点很碎,但是如果你真的…