异常处理与调试 - 零基础入门学习Delphi50
异常处理与调试
让编程改变世界
Change the world by program
异常处理与调试
在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。

有些错误是无法控制的。
如何处理异常?
过去:各种if...else...
现在:强大的异常处理机制
异常处理的意义
异常可以理解为一种特殊的事件,当这种特殊的事件发生时,程序正常的执行流程将被打断。
Object Pascal 定义了大量的异常处理对象,使应用程序几乎能够处理所有的异常情况,并且对异常处理的语法作了简化。
异常几乎是不可避免的,防不胜防。
采用普通检测
[codesyntax lang="delphi"]
var
AChar,AString:ShortString;
begin
AString:= 'Welcome to FishC.com';
AChar:= Copy(AString,21,1);
if AChar<>#0 then // #0 是空字符,不是空格
begin
if AChar<>'!' then
Insert(AChar,AString,21);
Exit;
end;
end;
[/codesyntax]
采用异常机制
[codesyntax lang="delphi"]
var
AChar,Astring:ShortString;
begin
try
AString:='Welcome to Fishc.com';
AChar:=Copy(Astring,21,1);
if AChar<>'!' then
Insert(AChar,AString,21);
except
Exit;
end;
End;
[/codesyntax]
错误类型
一般来说,无论在编程的时候如何仔细,程序总会有错误。
错误分为4种类型:
- 设计期错误
- 编译期错误
- 运行期错误
- 逻辑错误
怎样尽可能地减少错误
虽然错误是很难避免的,但好的编程习惯能够尽可能地减少错误。以下是一些有关编程习惯的建议。
1) 程序应尽可能地模块化 程序分解为模块后,由于每个模块所要完成的任务相对简单了,所以发生错误的可能也就减少了。模块化还简化了程序的维护。
2) 养成良好的代码书写习惯 注释能够增加代码的可读性,方便维护和修改。缩进能够使程序的语法结构更加清晰。
3) 不要忘记检查参数的值 在函数内部,首先要检查传递过来的参数值是否合法,是否在一个可接受的范围内。
4) 不要忘记检查函数的返回值 函数的返回值往往表示函数调用是否成功,以此决定下面的程序流程。如果贸然执行下一步,有可能会出现意想不到的结果。
[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/BdsUAwLTIACjAuNRdb5']视频下载[/Downlink]
异常处理与调试 - 零基础入门学习Delphi50的更多相关文章
- 小甲鱼零基础入门学习python--课后作业
[小甲鱼零基础入门学习python--课后作业] 小甲鱼零基础入门学习python--课后作业 本章内容: 1.基础部分的作业 2.函数部分的作业 3.字典.集合.文件部分作业 4.异常 5.Easy ...
- 函数:我的地盘听我的 - 零基础入门学习Python019
函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...
- 【Python教程】《零基础入门学习Python》(小甲鱼)
[Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 大牛整理最全Python零基础入门学习资料
大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』 帖子类别:『人工智能』 阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...
- Python3零基础入门学习视频+源码+课件+习题-小甲鱼
目录 1. 介绍 2. 目录 3. 下载地址 1. 介绍 适用人群 完全零基础入门,不需要任何前置知识. 课程概述 本系列教程面向零基础的同学,是一个深入浅出,通俗易懂的Python3视频教程. 前半 ...
随机推荐
- hadoop集群之HDFS和YARN启动和停止命令
假如我们只有3台linux虚拟机,主机名分别为hadoop01.hadoop02和hadoop03,在这3台机器上,hadoop集群的部署情况如下: hadoop01:1个namenode,1个dat ...
- centos 源码安装git
(1) 添加rpmforge源 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686 ...
- 关于Android界面编程与视图(View)组件
UI组件--------------->android.widget.* View组件------------->android.view.* 视图(View)组件 所有UI组件都是建立在 ...
- tessnet2 在vs2010 及以上版本不能调用的解决方案
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version=&qu ...
- BZOJ 2007 海拔
http://www.lydsy.com/JudgeOnline/problem.php?id=2007 思路: 显然海拔是一片0,另一片1,答案就是01的分界线的流量. 本题中的图是平面图,所以求最 ...
- git push error: RPC failed; result=56, HTTP code = 0 ,the remote end hung up unexpectedly
git push的时候发生标题上面的错误,不知道怎么解决.搜索了下stackoverflow,上面说是http的postBuffer不够导致的. 要运行以下命令: git config --globa ...
- Compound class names are not supported. Consider searching for one class name and filtering the results
原文地址:http://stackoverflow.com/questions/20361643/compound-class-names-are-not-supported-consider-sea ...
- mysql 的 decimal类型
最近做项目时将decimal定义成了decimal(5,2),然后等到最大的结果都是999.99,找了很多地方找不出bug在哪里插入很更新的数据都是正确的而结果却都是999.99,最后才知道decim ...
- 利用autoit自动关闭指定标题窗口
最近使用PL/SQL Developer 比较两个数据库数据差异,因部分表上没有主键,PL/SQL 就会弹出一个确认框提示某某表没有主键.因为有很多表没有主键,就不停的弹出确认窗口,得不停的点击 ...
- java中File类的相关学习
File类 1.关于系统路径分割符. 在Windows中,使用反斜杠“\”作为路径分割符,比如“c:\test”,但是java中反斜杠表示转义,所以需要用“C:\\test”在程序中来表示路径.还可以 ...