c++ 线程异常处理
我编写了一个计算的小程序,把计算的代码声明成函数使用CreateThread调用执行,请问有什么办法能让计算线程发生异常时仅仅弹出提示并终止线程,而不使整个程序退出。程序...
我编写了一个计算的小程序,把计算的代码声明成函数使用 CreateThread 调用执行,
请问有什么办法能让计算线程发生异常时仅仅弹出提示并终止线程,而不使整个程序退出。
程序没有死锁,我在里面用 GetProcAddress 获取函数指针的方法调用了一个用 matlab 编译出来的dll文件,溢出和除零的错误都是出在那个dll上。
出错是在用函数指针调用dll里的函数引起的,调试时的提示是:
Unhandled exception in mfcfinish.exe (NTDLL.DLL): 0xC0000028: (no name).
调用dll函数时引起的异常和线程的异常没法捕获到吗?线程的堆栈是独立的吧。
请教各位大牛,没有办法处理么。。。 展开
请问有什么办法能让计算线程发生异常时仅仅弹出提示并终止线程,而不使整个程序退出。
程序没有死锁,我在里面用 GetProcAddress 获取函数指针的方法调用了一个用 matlab 编译出来的dll文件,溢出和除零的错误都是出在那个dll上。
出错是在用函数指针调用dll里的函数引起的,调试时的提示是:
Unhandled exception in mfcfinish.exe (NTDLL.DLL): 0xC0000028: (no name).
调用dll函数时引起的异常和线程的异常没法捕获到吗?线程的堆栈是独立的吧。
请教各位大牛,没有办法处理么。。。 展开
4个回答
展开全部
你可以使用
try
{
//执行代码
}
catch (...)
{
//捕获到任何异常就会走这里,在这里处理线程退出,
ExitThread(GetLastError());
}
try
{
//执行代码
}
catch (...)
{
//捕获到任何异常就会走这里,在这里处理线程退出,
ExitThread(GetLastError());
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其中C是面向过程的编程语言,C++是面向对象的。学了以后你会发现两者思路截然不同。简单的说,C就是研究这个问题怎么去做,需要哪些步骤。C++关心的是这个问题有哪些属性,然后去已经编写好的模块中去找这些属性来解决问题。
C语言是其中最最最难的语言(也有人说C++比C难),但我考虑的角度如下:如果要精通学习C语言,它既是高等语言,又具有像低等语言那样对硬件直接操作的能力。所以要精通他,就要学到很多计算机原理。当你精通C语言后,你再去学C++,除了思维方式上的转变,C++的内容保证你在1个月内掌握(但是编程思维方式可能需要一年以上才能转变)所以说,学精通了C语言后,你学其他语言都很容易了。JAVA和C++大同小异,只要应用在手机游戏领域。而C可以应用与编写操作系统。C++用于编写大型的企业软件
C语言是其中最最最难的语言(也有人说C++比C难),但我考虑的角度如下:如果要精通学习C语言,它既是高等语言,又具有像低等语言那样对硬件直接操作的能力。所以要精通他,就要学到很多计算机原理。当你精通C语言后,你再去学C++,除了思维方式上的转变,C++的内容保证你在1个月内掌握(但是编程思维方式可能需要一年以上才能转变)所以说,学精通了C语言后,你学其他语言都很容易了。JAVA和C++大同小异,只要应用在手机游戏领域。而C可以应用与编写操作系统。C++用于编写大型的企业软件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有可能,因为你的线程有可能破坏进程空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体说清楚,啥意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询