急!!!关于“runtime error”的问题。

wangsiyuanoo 2010-12-09 12:30:55
做下面工作的时候会不定时的出现:
“runtime error”错误。
请大牛们帮我分析一下,会是神马情况才会出现这种错误呢?
PS:基本排除数组越界之类的错误。

还有,如何用try/catch捕获错误呢?


CMySqlDatabase mysql;
bool bLink = GetConnectSQL(mysql);
bool bAlive = mysql.IsConnAlive();
if ( bLink && bAlive )
{
do
{
try
{
//循环执行SQL语句
}
catch (CException* e)
{
//请问,这里应该怎么写,才能捕获到错误描述。
}
}
while ();
}
...全文
129 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yihandrensunyong 2010-12-09
  • 打赏
  • 举报
回复
把可能产生错误的带代码 放到TRY里面执行
lucky-lucky 2010-12-09
  • 打赏
  • 举报
回复
百度百科里将try讲的很详细
http://baike.baidu.com/view/388893.htm
luciferisnotsatan 2010-12-09
  • 打赏
  • 举报
回复
CException* e 这个e就是抛出的异常。用成员函数GetErrorMessage 得到信息。
wangsiyuanoo 2010-12-09
  • 打赏
  • 举报
回复
try
{
//循环执行SQL语句
}
catch (CException* e) //mfc的异常
{
char strError[MAX_PATH] = {0};
e->GetErrorMessage( strError, MAX_PATH );
MessageBox( strError, "错误", MB_ICONSTOP );
}
catch (...) //非mfc的异常
{
DWORD dwError = GetLastError();
char strError[MAX_PATH] = {0};
sprintf( strError, "代码:%d", dwError );
MessageBox( strError, "错误", MB_ICONSTOP );
}

这样写可以么?
因为我觉得错误不一定是mfc异常,如果是非MFC异常呢,我这样写会不会两者都得到?
Nov_c 2010-12-09
  • 打赏
  • 举报
回复
GetErrorMessage or ReportError
wyfwx 2010-12-09
  • 打赏
  • 举报
回复
CException

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧