vc + ado + sql 2000 为什么不能捕获错误??高手请进 try{pconnection -> excuse(select * from Table);//如果表名不存在,为什不进catch(_com_error);}catch(_com_error){ }请高手指点?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 刚才试了一下,是好象不会抛出 _com_error 类型的错误。 catch(_com_error &e) {..... } 在C/C++ 环境下,默认是尽量返回HRESULT类型的错误码而不是抛出异常.这是因为try{}catch(){}的性能很差.(10~100倍的差距)execute 就是直接返回错误码的要想抛出异常就用if( FAILED(x) )_com_issue_error(x);例如:#define TESTHR(x) if FAILED(x) _com_issue_error(x)try{TESTHR( pconnection -> excuse(select * from Table) );}catch(_com_error& e ){ ...}如此即可 VC 6.0 Release编译的问题 窗口频繁绘制遇到错误需要关闭 关于OnReceive()的触发问题 acm压缩的源格式和目标格式怎么选择? 关于字符串转换的问题 对话框去掉Toolbar后,我加了一个最小化按钮,一点击最小化后,可是我在下面的图标,不能恢复显示,该怎么做? 那里有关于IShellChangeNotify::OnChange的实例代码,跪谢!! 如何实现两个ControlBar停靠成L型? 怎么修改CMenu的菜单文字 关于VSS团队开发工具 在线等待绘图问题 关于VC内联汇编
{.....
}
这是因为try{}catch(){}的性能很差.(10~100倍的差距)execute 就是直接返回错误码的要想抛出异常就用if( FAILED(x) )_com_issue_error(x);例如:
#define TESTHR(x) if FAILED(x) _com_issue_error(x)
try{
TESTHR( pconnection -> excuse(select * from Table) );
}
catch(_com_error& e )
{
...
}
如此即可