求助: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定义的 ...
[解决办法]
是这样写的