VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1057|回复: 10

[求助] 【ADO编程怎么异常捕获】

[复制链接]
21_avatar_middle
online_vip 发表于 2016-1-10 21:10:22 | 显示全部楼层 |阅读模式
3驿站币
利用ADO使用Command对象向数据库中插入数据,SQL语句不对就会直接报错,用Try-catch 结构捕获不到异常,那该怎么捕获到异常呢?
一下是我写的Try-catch 语句
try
        {
                m_CommandPtr->Execute(NULL , NULL , adCmdText) ;
                MessageBox(_T("添加成功!"));
                CAddBOOk::OnOK() ;
        }
        catch(_com_error  *e)
        {
                MessageBox(e->ErrorMessage());
                return ;
        }





上一篇:用MFC做的一个工控系统
下一篇:VS 插件开发问题
51_avatar_middle
online_admins 发表于 2016-1-10 22:04:43 | 显示全部楼层
catch(_com_error  *e)
改成:
catch(_com_error  &e)

试试
02_avatar_middle
在线会员 发表于 2016-1-11 11:44:54 | 显示全部楼层
catch(_com_error  *e)
改成:
catch(...)
试试
另外,有没有异常发生啊?
21_avatar_middle
ico_lz  楼主| 发表于 2016-1-11 19:27:38 | 显示全部楼层
qxwvc6 发表于 2016-1-11 11:44
catch(_com_error  *e)
改成:
catch(...)

异常肯定有,sql语句写的不对直接崩溃说内存泄漏,没有捕获到。
81_avatar_middle
online_moderator 发表于 2016-1-11 19:33:52 | 显示全部楼层
JiangMr 发表于 2016-1-11 19:27
异常肯定有,sql语句写的不对直接崩溃说内存泄漏,没有捕获到。

按照 3# 的说法有没有捕获到异常?
02_avatar_middle
在线会员 发表于 2016-1-12 07:24:43 | 显示全部楼层
try{
}catch(...){
} 结构可以捕捉任何异常,这是“达内”陈老师说的。
不过,C++的异常机制好像还在完善中。
21_avatar_middle
ico_lz  楼主| 发表于 2016-1-12 19:22:07 | 显示全部楼层
qxwvc6 发表于 2016-1-11 11:44
catch(_com_error  *e)
改成:
catch(...)

捕获到异常了,但为什么com_erorr捕获不到呢?
21_avatar_middle
ico_lz  楼主| 发表于 2016-1-12 19:23:14 | 显示全部楼层
Debug 发表于 2016-1-11 19:33
按照 3# 的说法有没有捕获到异常?

捕获到异常了,com_error为什么捕获不到呢?
21_avatar_middle
ico_lz  楼主| 发表于 2016-1-12 19:23:34 | 显示全部楼层
qxwvc6 发表于 2016-1-12 07:24
try{
}catch(...){
} 结构可以捕捉任何异常,这是“达内”陈老师说的。

确实捕获到了异常。
02_avatar_middle
在线会员 发表于 2016-1-13 06:52:31 | 显示全部楼层
我也不清楚。

你可以试试:
在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因。
81_avatar_middle
online_moderator 发表于 2016-1-13 09:26:52 | 显示全部楼层
JiangMr 发表于 2016-1-12 19:23
确实捕获到了异常。

具体捕获到什么异常得看出错时抛出什么异常,这样才能捕获到!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-19 00:24

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表