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

铁石心肠8888

铁石心肠8888

2016-02-19 17:18

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

  第一篇-正确书写代码

  1.    简介

  2.    书写干净的代码

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

  4.    使用记录(logging)机制

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

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

  7.    你的回合

  8.    版权说明

  简介

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

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

  书写干净的代码

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

  使用异常及异常处理能力

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

  现在进入下一步,这仍然是基于代码的步骤。(除了在极少数的情况下,你不能老是使用系统内建的除错器,所以知道其他可以找出这些麻烦的虫子的办法总是个好主意)。本步骤完全是关于如何做到,更重要的是处理好在你的窗体出现异常时系统扔给你的(产生的)错误。在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 *

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
掌握C++ builder的除错艺术(1)

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

编程语言 网络编程
掌握C++ builder的除错艺术(2).1

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

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

编程语言 网络编程
掌握C++ builder的除错艺术(2).2

C++ Builder初学问与答1

编程语言 网络编程
C++ Builder初学问与答1

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

深入C++ Builder之编写自己的元件(1)

编程语言 网络编程
深入C++ Builder之编写自己的元件(1)

C++ Builder 使用动作

编程语言 网络编程
C++ Builder 使用动作

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML入门指南(14)XML CDATA

XML入门指南(14)XML CDATA

TDateTime

TDateTime
下拉加载更多内容 ↓