码迷,mamicode.com
首页 > 其他好文 > 详细

在尽可能多的地方加出错处理

时间:2014-07-02 10:20:43      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:style   color   问题   代码   io   ui   

今天遇到一个很奇怪的问题,自己写的一段代码已经测试过好多次了,一直也在用着它觉得这段代码已经是很稳定了。但是今天跟新了一下库结果这段代码变成了一个必死的代码,真的有点不相信自己的眼睛,但是死机已经摆在了眼前了没有办法还是得把这bug给找出来、、、、、、找来找去多感觉没有问题,哎、、、、、、最后终于发现原来是一个变量由于换了库初始值变量,导致给一个指针赋值时没有赋到使得指针指飞了。经过这次总结了一下几点:

1、switch...case...default语句结构中如果default中没有事可做那么就加个断言
2、if...else if如果你的思想是这两种情况肯定有一种情况存在的话那么你应该多加一个else
     来避免自己今天遇到的情况else里可以加个断言

 

if(pMonitorGuiFrame->gSysMod.gMonitorConfig.recSweepSpeed == 25)
{
        ItemDbCaption[3].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_DLG_SPEED_250);
}
else if(pMonitorGuiFrame->gSysMod.gMonitorConfig.recSweepSpeed == 50)
{
        ItemDbCaption[3].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_DLG_SPEED_500);
}
else  //避免指针指飞
{
    assert(FALSE);
}

 

switch(pMonitorGuiFrame->gSysMod.gMonitorConfig.recRTMode)
{
        case 8:
            ItemDbCaption[4].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_COM_TIME_8S);
            break;
        case 16:
            ItemDbCaption[4].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_COM_TIME_16S);
            break;
        case 32:
            ItemDbCaption[4].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_COM_TIME_32S);
            break;
        case 120:
            ItemDbCaption[4].pStrRightCaption = pMonitorGuiFrame->GetLangStr(IDS_COM_TIME_CONTINUAL);
            break;
        default:
         assert(FALSE);
            break;
}

 

 

在尽可能多的地方加出错处理,布布扣,bubuko.com

在尽可能多的地方加出错处理

标签:style   color   问题   代码   io   ui   

原文地址:http://www.cnblogs.com/genu/p/3819143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!