掌握C++ builder的除错艺术(1)

2016-02-19 17:18 4 1 收藏

下面,图老师小编带您去了解一下掌握C++ builder的除错艺术(1),生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

  第一篇-正确书写代码

  1.    简介

  2.    书写干净的代码

  3.    使用异常及异常处理能力

  4.    使用记录(logging)机制

  5.    结合使用记录机制与类的异常处理机制

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  6.    处理您代码外产生的异常

  7.    你的回合

  8.    版权说明

  简介

  这篇文章,我将从最基本的开始谈起。但希望可以涉及更广的层面,而不仅仅是为你的程序除错(debug)。你将会看到,我认为除错(debugging)这个字的全部意义,并不只是通过ide的内建机制来运行的。我希望在这篇小小的文章结束时,几乎每个读者都可以学到至少是一件新东西,并把它藏到你的兵器库中。记住,你程序中的错误(bug)越少,你的最终用户对你的程序的感觉就越好;你对错误(bug)的处理越好,用户们发现错误(bug)时就越乐于告诉你以便你改正错误。好了,现在系好安全带,戴上护目镜,让我们开始一段疯狂的路程!

  书写干净的代码

  首先而且也许是最重要的一点是书写干净、可读的代码是极其重要的。能够在写完一段代码后回顾一下并给它加上注释来说明这段代码用来做什么和为什么这么做,将会省去你以后跟踪代码的无数个痛苦的小时。也许你会多花一点时间来书写,但当你花过n小时来跟踪那些难以捉摸的bug时,你就会同意多花点时间来让程序代码可读是多么值得了。(你本可以很容易完成除错的)。如果没有这么做过,我建议你停下来,读读另一篇scott的精彩文章-代码的风格(大家需要的话,将会尽快翻译)。

  使用异常及异常处理能力

  现在进入下一步,这仍然是基于代码的步骤。(除了在极少数的情况下,你不能老是使用系统内建的除错器,所以知道其他可以找出这些麻烦的虫子的办法总是个好主意)。本步骤完全是关于如何做到,更重要的是处理好在你的窗体出现异常时系统扔给你的(产生的)错误。在c++标准得到认可前黑暗的旧日子里,应用程序通常会通过返回值来发出错误信号(这种方法在ole和一些winapi函数中仍在使用)。很显然,你可以很轻易的忽略这些(事实上也是经常的,我的意思是你经常检查一个winapi函数的返回值吗?)。

  所以他们决定.,okay,我们需要一个新的机制,一个你不能忽略的。但你可以处理,定制(自定义 customize)。异常就此出现了。想要一个特殊的错误类型标志?容易的很,定义一个新的异常类型(不过是一个类,没别的),抛出来(产生这个异常)。完了。

  例子:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

class myexception
{
public:
        ansistring imessage;
        myexception(ansistring message) { imessage=message;}
};

  throw new myexception(test exception message);

  就这么简单!(当然不是很完全,我会很快加上的)。漂亮而又简单,并且非常容易定制来满足您的需要。okey,你会问到:我能产生异常了,但如何处理它们?我的意思是,我想在第一时间(位置)从我的代码中排除异常!这当然很容易做到,实际上还很容易定制呢!标准委员会为我们定义了try {/* code *

来源:https://www.tulaoshi.com/n/20160219/1614913.html

延伸阅读
(7)在C++Builder集成开发环境中,还有Component菜单。在组件菜单下的菜单命令是有关建立、安装、重建组件的菜单项。其中: “New Component”菜单项打开组件向导建立新组件。 “Install Component”菜单项安装新的组件。 “Import ActiveX Control”菜单项将ActiveX控制的类型库加入到C++Builder的工程中。 “Create Component ...
13.对话框组件 96)问:怎样编写文件打开、保存等对话框? !-- frame contents -- !-- /frame contents -- 答:C++Builder为我们提供了许多常用的对话框组件,这些对话框组件都放在组件模板的Dialogs选项卡中,例如Font,Color,Open和Print对话框。其中OpenDialog对话框组件最具有代表性,只要把握了它的用法,那么你也就会...
(4)利用C++Builder集成开发环境中的视图“View”菜单,可以显示或隐藏C++Builder集成开发环境中的不同的部分,也可以用于打开属于集成调试器的窗口。 “Project Manager”菜单项用于显示工程治理器。 “Object Inspector”菜单项用于显示对象监视器窗口。 “Alignment Palette”菜单项用于显示排版窗口。 “Component List”菜单...
13.对话框组件 96)问:怎样编写文件打开、保存等对话框? 答:C++Builder为我们提供了许多常用的对话框组件,这些对话框组件都放在组件模板的Dialogs选项卡中,例如Font,Color,Open和Print对话框。其中OpenDialog对话框组件最具有代表性,只要掌握了它的用法,那么你也就会使用其他的对话框组件了。 97)问:对话框组件...
53)问:能介绍一下TTreeNodes与TTreeNode? 答:在BCB中,树状视图的节点是通过TTreeNodes对象来管理的,通过这个对象可以对树状视图进行动态的增加、删除、插入、移动节点等操作。而每一个节点都是一个TTreeNode对象。 TTreeNode的主要属性和函数: Count:这个属性用来返回某个节点所拥有的子节点的数目。它不包括其子节...

经验教程

989

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部