异常处理与调试

让编程改变世界

Change the world by program


异常处理与调试

在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。   有些错误是无法控制的。   如何处理异常?

过去:各种if...else... 现在:强大的异常处理机制

异常处理的意义

异常可以理解为一种特殊的事件,当这种特殊的事件发生时,程序正常的执行流程将被打断。 Object Pascal 定义了大量的异常处理对象,使应用程序几乎能够处理所有的异常情况,并且对异常处理的语法作了简化。 异常几乎是不可避免的,防不胜防。

采用普通检测

[codesyntax lang="delphi"]

varAChar,AString:ShortString;
beginAString:= 'Welcome to FishC.com';AChar:= Copy(AString,21,1);if AChar<>#0 then    // #0 是空字符,不是空格beginif AChar<>'!' then Insert(AChar,AString,21);Exit;end;
end;

[/codesyntax]

采用异常机制

[codesyntax lang="delphi"]

varAChar,Astring:ShortString;
begintryAString:='Welcome to Fishc.com';AChar:=Copy(Astring,21,1);if AChar<>'!' then Insert(AChar,AString,21);exceptExit;end;
End;

[/codesyntax]

错误类型

一般来说,无论在编程的时候如何仔细,程序总会有错误。 错误分为4种类型:

  1. 设计期错误
  2. 编译期错误
  3. 运行期错误
  4. 逻辑错误

怎样尽可能地减少错误

虽然错误是很难避免的,但好的编程习惯能够尽可能地减少错误。以下是一些有关编程习惯的建议。 1) 程序应尽可能地模块化 程序分解为模块后,由于每个模块所要完成的任务相对简单了,所以发生错误的可能也就减少了。模块化还简化了程序的维护。 2) 养成良好的代码书写习惯 注释能够增加代码的可读性,方便维护和修改。缩进能够使程序的语法结构更加清晰。 3) 不要忘记检查参数的值 在函数内部,首先要检查传递过来的参数值是否合法,是否在一个可接受的范围内。 4) 不要忘记检查函数的返回值 函数的返回值往往表示函数调用是否成功,以此决定下面的程序流程。如果贸然执行下一步,有可能会出现意想不到的结果。 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/BdsUAwLTIACjAuNRdb5']视频下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/p/3846349.html

异常处理与调试 - 零基础入门学习Delphi50相关推荐

  1. python零基础电子书免费下载-零基础入门学习Python PDF 扫描版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python.零基础.入门学习方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小59.3 MB,小甲鱼编写,目前豆瓣.亚马逊 ...

  2. python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...

    课程名称 Python零基础入门学习视频教程全42集,资源教程下载 课程目录 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小 ...

  3. python基础教程视频教程百度云-Python零基础入门学习视频教程全42集百度云网盘下载...

    课程简介 Python零基础入门学习视频教程全42集百度云网盘下载 课程目录 042魔法方法:算术运算 041魔法方法:构造和析构 040类和对象:一些相关的BIF 039类和对象拾遗 038类和对象 ...

  4. 零基础python必背代码-零基础入门学习python 96集全

    零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...

  5. 零基础自学python教程-零基础入门学习Python_Python教程

    教程名称:零基础入门学习Python 课程目录: [易源码www.pnp8.com]000愉快的开始 [易源码www.pnp8.com]001我和Python的第一次亲密接触 [易源码www.pnp8 ...

  6. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析

    通过自学编程,感觉到基础知识很重要,越到后面越能发现这一点,光记住是不行的,还要灵活运用,要多调试代码,计算机就是一个不断练习,不断遇到问题,解决问题的工种,要根据实际的业务能想到对应的语法,实际项目 ...

  7. 零基础学python pdf-Python pdf(零基础入门学习Python)V1.0 最新版

    Python pdf(零基础入门学习Python)是一款功能强劲专业实用的Python电子书籍.想要零基础入门学习Python?那就快试试绿色先锋小编推荐的Python pdf最新版下载使用.由作者小 ...

  8. 小甲鱼零基础入门学习python--课后作业(更新至第19讲,持续更新)

    本章内容: 小甲鱼零基础入门学习python--课后作业 1.基础部分的作业 2.函数部分的作业 3.字典.集合.文件部分作业 4.异常 5.EasyGui 6.类.对象.魔法方法 7.模块 8.爬虫 ...

  9. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  10. 零基础入门python小甲鱼-小甲鱼零基础入门学习Python百度云下载 | 宅男君

    Python编程语言可以在不同平台上使用,比如Windows.MAC.Linux操作系统.通常情况下,一个Python程序在你自己的Windows系统上运行,也可以在别人的MAC系统上运行.Pytho ...

最新文章

  1. 整理对应_JSP第二版课后习题答案【侵权联系我删除】
  2. python 图像降噪
  3. asp.net(c#) linkbutton CommandArgument
  4. 得到的概率值_论文推荐|屋面钢梁在超强意外雪荷载作用下的失效概率
  5. 023_运行时变量和范围
  6. 今天犯的一个错误,导致method GET must not have a request body
  7. 以在线教育销售CRM为例,谈谈业务大盘拆解优化的六步法
  8. 使用WSUS服务器为客户端安装安全补丁
  9. 自动给 Asp.Net Core Api 增加 ApiVersionNeutral
  10. 文艺小清新手绘秋季秋天叶片,值得设计师收藏的好素材
  11. qq连连看java版_Java实战_仿QQ连连看
  12. FPGA学习任意波函数信号发生器的设计(基于quartus II13.0)
  13. 犬类水疗跑步机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. java开发微信抢红包挂_微信抢红包算法实现(JAVA)
  15. 晶振的各种参数代表什么意思?
  16. 图示机构受力f作用_工程力学试题以及答案
  17. MySQL 进阶 触发器 -- 触发器介绍、触发器语法、触发器案例
  18. 一文了解 Julia(lang)
  19. 通信原理 | 滤波器:滤波器的概念、理想滤波器和实际滤波器
  20. 解决 Unrecognized field xxx , not marked as ignorable 问题

热门文章

  1. DevOps、CI、CD是什么关系
  2. thinkphp 同时更新多条数据
  3. Swagger2 忽略某些参数使其不出现在接口文档中
  4. 文档对象模型(DOM)
  5. Windows 命令 netstat 查看网络端口、telnet 检测对方端口是否可用
  6. 诛仙3饮马江南服务器信息,横刀云渺,饮马天河----浅谈云渺天河5S单刷
  7. 阶段3 2.Spring_06.Spring的新注解_4 spring的新注解-Import
  8. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_17_常用的函数式接口_Function接口中的方法andThen...
  9. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_3_编程思想转换体验Lambda的更优写法...
  10. CSS 文档架构——便于读取