异常处理与调试 - 零基础入门学习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视频教程. 前半 ...
 
随机推荐
- javax.net.ssl.SSLException: java.lang.UnsupportedOperationException
			
Loading KeyStore C:\Tool\jdk1.7.0_71\jre\lib\security\jssecacerts... Opening connection to www.googl ...
 - LeetCode_Pascal's Triangle II
			
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
 - 2014.11.12模拟赛【最小公倍数】| vijos1047最小公倍数
			
最小公倍数(lcm.c/.cpp/.pas) 题目描述 给定两个正整数,求他们的最小公倍数. 样例输入 28 12 样例输出 84 数据范围 对于40%数据:1<=a,b<=10^9 对于 ...
 - voijs1883 月光的魔法
			
背景 影几欺哄了众生了天以外——月儿何曾圆缺 描述 有些东西就如同月光的魔法一般. Luke是爱着vijos的.他想为自己心爱的东西画些什么. 就画N个圆吧.把它们的圆心都固定在x轴上. 圆与圆.为了 ...
 - Unity 白猫操作小实例
			
最近师兄找我说白猫的操作如何做, 0.0 结果白猫没有android的客户端玩不了,看了下视频介绍就简单做了下 效果图: 核心代码: using UnityEngine; using Syste ...
 - Hibernate框架大配置关联小配置
			
1 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-// ...
 - Android声明和使用权限
			
Android定义了一种权限方案来保护设备上的资源和功能.例如,在默认情况下,应用程序无法访问联系人列表.拨打电话等.下面就以拨打电话为例介绍一下系统对权限的要求.一般在我们的应用中,如果要用到拨打电 ...
 - C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)
			
C/S系统实现两数求和 任务要求: 实现配置文件 实现日志滚动 设置非阻塞套接字,EPOLL实现 检测客户端的连接,设置心跳检测 主线程 + 心跳检测线程 + EPOLL的ET模式处理事务线程 注意事 ...
 - RDBMS 数据库补丁集补丁号码高速參考-文档 ID 1577380.1
			
保存此文,高速查询补丁号 Oracle Database - Enterprise Edition - 版本号 8.1.7.0 和更高版本号 本文档所含信息适用于全部平台 补丁集/PSU 补丁号码 ...
 - 使用WeCloud消息推送接口发送消息NodeJs版
			
WeCloud是一家初创公司的产品,眼下主要在做Android和IOS消息推送这块.他们提供了用于向设备发送消息的协议,详细协议内容见消息推送协议. 这篇文章将使用NodeJs基于这个推送协议完毕向A ...