首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

VC win32 applcation 错误处理,多谢

2012-03-03 
求助:VC win32 applcation 异常处理,谢谢!请教:voidCMyDlg::OnButton2(){intiSYSTEMTIMEsystimesystime.

求助:VC win32 applcation 异常处理,谢谢!
请教:
void   CMyDlg::OnButton2()  
{
      int   i;
          SYSTEMTIME   systime;
          systime.wYear   =   2008   ;
          systime.wMonth   =   11;
          systime.wDay     =   20   ;
          systime.wHour   =   32;
          systime.wMinute     =   23;
          systime.wSecond   =   12;
          i   =   SetSystemTime(&systime);
}

请教:
问题1:
判断   如果   时间不符合要求,就退出这个过程:
void   CMyDlg::OnButton2()  
{
      int   i;
          SYSTEMTIME   systime;
          systime.wYear   =   2008   ;
          systime.wMonth   =   11;
          systime.wDay     =   20   ;
          systime.wHour   =   32;
          if   (systime.wHour   > 23   )
          {
            exit(0);
            }
          systime.wMinute     =   23;
          systime.wSecond   =   12;
          i   =   SetSystemTime(&systime);
}


  if   (systime.wHour   > 23   )
        {
          exit(0);
          }

是这样写的吗?
这样就退出   void   CMyDlg::OnButton2()   了,是吗?


问题2:
我想扑捉异常,那程序要怎么写?

谢谢!


[解决办法]
1
exit(0);换成return;
2
try{
...产生异常的代码
}catch(...){
}
[解决办法]
systime.wHour = 32;
if (systime.wHour > 23 )
{
exit(0); //这样退出是没有问题
}

但是,
之前才刚刚 systime.wHour = 32; 进行了赋值,
马上就是 if (systime.wHour > 23 ) 这样的判断,
逻辑上不对。
[解决办法]
exit就退出整个程序了,不光是函数
如果捕捉异常,在退出之前,暂停system( "pause ")或断言,打印一些信息
[解决办法]
Visual C++中的异常处理浅析
http://dev.yesky.com/115/2158115_4.shtml
[解决办法]
恩。

异常机制是C++定义的,
不是MFC定义的 ...
[解决办法]
是这样写的

热点排行