掌控C builder的除错艺术(1)
2008-02-23 05:34:08来源:互联网 阅读 ()
1. 简介
2. 书写干净的代码
3. 使用异常及异常处理能力
4. 使用记录(logging)机制
5. 结合使用记录机制和类的异常处理机制
6. 处理您代码外产生的异常
7. 您的回合
8. 版权说明
简介
这篇文章,我将从最基本的开始谈起。但希望能够涉及更广的层面,而不但仅是为您的程式除错(debug)。您将会看到,我认为除错(debugging)这个字的全部意义,并不只是通过ide的内建机制来运行的。我希望在这篇小小的文章结束时,几乎每个读者都能够学到至少是一件新东西,并把他藏到您的兵器库中。记住,您程式中的错误(bug)越少,您的最终用户对您的程式的感觉就越好;您对错误(bug)的处理越好,用户们发现错误(bug)时就越乐于告诉您以便您改正错误。好了,现在系好安全带,戴上护目镜,让我们开始一段疯狂的路程!
书写干净的代码
首先而且也许是最重要的一点是书写干净、可读的代码是极其重要的。能够在写完一段代码后回顾一下并给他加上注释来说明这段代码用来做什么和为什么这么做,将会省去您以后跟踪代码的无数个痛苦的小时。也许您会多花一点时间来书写,但当您花过n小时来跟踪那些难以捉摸的bug时,您就会同意多花点时间来让程式代码可读是多么值得了。(您本能够很容易完成除错的)。假如没有这么做过,我建议您停下来,读读另一篇scott的出色文章-代码的风格(大家需要的话,将会尽快翻译)。
使用异常及异常处理能力
现在进入下一步,这仍然是基于代码的步骤。(除了在极少数的情况下,您不能老是使用系统内建的除错器,所以知道其他能够找出这些麻烦的虫子的办法总是个好主意)。本步骤完全是关于如何做到,更重要的是处理好在您的窗体出现异常时系统扔给您的(产生的)错误。在c 标准得到认可前黑暗的旧日子里,应用程式通常会通过返回值来发出错误信号(这种方法在ole和一些winapi函数中仍在使用)。很显然,您能够很轻易的忽略这些(事实上也是经常的,我的意思是您经常检查一个winapi函数的返回值吗?)。
所以他们决定….,okay,我们需要一个新的机制,一个您不能忽略的。但您能够处理,定制(自定义 customize)。异常就此出现了。想要一个特别的错误类型标志?容易的很,定义一个新的异常类型(但是是个类,没别的),抛出来(产生这个异常)。完了。
例子:
class myexception
{
public:
ansistring imessage;
myexception(ansistring message) { imessage=message;}
};
throw new myexception(“test exception message”);
就这么简单!(当然不是很完全,我会很快加上的)。漂亮而又简单,并且很容易定制来满足您的需要。okey,您会问到:“我能产生异常了,但如何处理他们?我的意思是,我想在第一时间(位置)从我的代码中排除异常!”这当然很容易做到,实际上还很容易定制呢!标准委员会为我们定义了try {/* code *
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: C 的算符重载
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash