我在程序中对操作数据库的部分全部加上了try和catch块。正常情况下程序没有问题,但是我发现如果发生异常,比如服务器端的数据库关闭了,客户端方的程序就无法执行;或者网络断掉了,通讯也会中止。但是这个时候程序没有进入catch块(代码见下),而是弹出一个系统的错误提示框,说明外部错误,即将中止程序,然后整个程序全部退出。
而我希望的是,通讯错误后,程序进入catch,然后不再执行通讯了,但是程序的其它部分仍然正常运行????
非常急,恳请相助!
catch(_com_error *e)
{
theApp.m_pConnection->RollbackTrans();
CString mm;
mm.Format("打开数据库出错! %s",e->ErrorMessage());
AfxMessageBox(mm);
delete e;
return;
}
catch(...)
{
theApp.m_pConnection->RollbackTrans();
AfxMessageBox("操作数据库时发生未知错误");
return;
}
而我希望的是,通讯错误后,程序进入catch,然后不再执行通讯了,但是程序的其它部分仍然正常运行????
非常急,恳请相助!
catch(_com_error *e)
{
theApp.m_pConnection->RollbackTrans();
CString mm;
mm.Format("打开数据库出错! %s",e->ErrorMessage());
AfxMessageBox(mm);
delete e;
return;
}
catch(...)
{
theApp.m_pConnection->RollbackTrans();
AfxMessageBox("操作数据库时发生未知错误");
return;
}
解决方案 »
- 有谁知道 64bit 和 32bit 编译器的宏,类似于,_DEBUG之类
- vc中 类初始化出错(包含两个引用数据成员),这种情况怎么写构造函数???
- 请问高手,我做了一个MDI应用程序,现在想把他做成dll组件,该如何操作?100分给予!急急急!
- 在循环中如何使用多线程,并在不产生阻塞情况下保证每个记数值都使用了?在线等待
- 有关程序中单词大小写的问题
- 一个关于文件读取的问题?没你想象的那么简单。在线等待
- 关于应用程序退出的问题,请高手指点!
- MFC 问题 怎么在CView里添加 WM_BUTTONDOWN消息?目前我只会在对话框里添加鼠标点击消息,求帮助,新手求助!!!
- 关于MD5校验应用的问题.
- 哪里有最完整的mfc资料???(第一个答完的得满分)
- 请问哪位DX有《基于ActiveX的多通道数据曲线编辑控件的实现》的代码或者LabCurve控件?
- Xtreme和BCGControlBar哪个好些?来者有分!
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());//这样得到的也不是很详细,能粗略的判断
}