读书人

c++线程里怎么捕捉异常

发布时间: 2013-09-28 10:01:20 作者: rapoo

c++线程里如何捕捉错误
我在一个函数里用了try..catch,当这个函数在主线程调用时,try里面的错误能捕捉到,程序不会崩溃。但用一个线程来执行这个函数时,就无法捕捉了,而是直接崩溃。

请问下这种线程里怎么捕捉错误啊?

相关的代码为:
string msg = "";
try
{
Json::Value root;
Json::Reader reader;
string lhResData = "503 Service Unvalilabe";//这里只是做测试用,所以直接这样写了
bool b = reader.parse(lhResData, root, false);
if(b)
{
int thestatus = root["status"].asInt();//就是这里出错了。
}
}
catch (htdepends::module::HtCrashCatch const &exception)
{
}
catch(...)
{
msg = "...";
}
线程 c++ 错误捕捉
[解决办法]
C++能在线程中捕获异常啊,如果有异常跑出来
[解决办法]
代码没啥问题啊
[解决办法]
主线程和其他线程都是一样的运行机制,主线程能捕捉到,其他线程也可以。
我怀疑是其他原因导致崩溃的,楼主能否打个断点,看看其他线程执行的时候发生了什么事?
[解决办法]
上个崩溃的栈瞅瞅先

读书人网 >C++

热点推荐