当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

关于编程气势的谈论5[VC/C++编程]

赞助商链接



  本文“关于编程气势的谈论5[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

5、错误处理:

1、错误报告处理.

编程中要求考虑函数的各种履行情形,尽大概处理全部的流程情形.将函数分为两类:

一类为与屏幕的显示无关,(不与用户交换信息的函数)

一类为与屏幕的显示相关.(与用户交换信息的函数)

关于与屏幕显示无关的函数,函数通过返回值来报告错误.

关于与屏幕显示有关的函数,函数要负责向用户发出告诫,并举行错误处理.

错误处理代码普通单独成立通用处理函数.以下:

void cmDeal_With_Error(long ErrCode)
{
switch(ErrCode)
{
case 1://注释
......
case 2://注释
......
default://注释
......
}
}

2、尽早发现程序中的错误:

①、器重编译器中的告诫信息.

关于编译器产生的告诫信息,我们应当惹起充足的器重,实际上很多告诫信息指导了程序中潜在的错误危险.所以我们要认真查抄每一个告诫信息,查看能否有某种隐患.尽大概消除告诫信息.

②、操纵断言来查抄错误

关于程序中的某种假定,或避免某些参数的不法值,操纵断言来帮忙查错是一种好的办法.

比方下面的函数:

long cmMemCpy(void * pvToMem, void* pvFromMem, size_t wSize)
{
……
if(pvToMem==NULL||pvFromMem==NULL)
{
lResult=CM _POINT_IS_NULL;
goto: END;
}
while(wSize-- >0)
{
*pvToMem++=pvFromMem++;
}
END:
return lResult;
}

采取判断可以查抄传入的指针错误,但是这样的判断是程序终究的编译代码变大,同时降低了终究公布的程序的履行效率.由于传入空指针明显是调用这函数的程序的错误,而不是这个函数的错误,我们可以考虑采取断言来替换指针查抄,即用

ASSERT( pvToMem!=NULL&&pvFromMem!=NULL)
替换
if(pvToMem==NULL||pvFromMem==NULL)
{
lResult=CM_POINT_IS_NULL;
goto: END;
}

这样只会在debug版中才会产生查抄代码,而在正式公布版中不会带有这些代码.并且可以便利我们在程序调试中和测试时发现错误,同时又不影响程序的效率.

在下面的一些情形中必须加断言:

a、数的参数,分外是指针参数必须操纵断言来举行确认.

b、操纵断言查抄程序中的各种假定的精确性.

c、在程序计划中不要简单认为某种情形不大概发生,对你认为不大概发生的情形必须用断言来证实.

为了使程序中的断言施展作用,全部用于在开辟内部举行测试或调试的动态库、执路程序、组件必须采取debug版.

阐明:

在程序效率要求较高、大概调用对比频繁的函数,对进口参数的错误查抄,利用断言方法,其长处如上所叙,但其结实性不强,所以在其他情形下,仍要求利用传统的查抄方法,以加强程序的结实性,当然,为了调试便利,可同时利用断言方法.

③、严峻的测试:

对每一段代码都要求举行严峻的测试,分外对一些功效函数要对其各种临界点(比方零值、无穷大的值等)举行测试.尽大概做到每一段代码零错误.


  以上是“关于编程气势的谈论5[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 关于编程气势的谈论1
  • <b>关于编程气势的谈论2</b>
  • <b>关于编程气势的谈论3</b>
  • <b>关于编程气势的谈论4</b>
  • 关于编程气势的谈论5
  • 关于编程气势的谈论6
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .