我想让线程停止的时候抛出异常在状态栏(先不管这样做是否必要),来显示进程停止,结果发现错误。

------解决思路----------------------
C++多线程里异常的处理非常困难
不是是否必要的问题,这是明显错误的做法
下面的讨论仅限于C++11——较早的C++版本不可行
像你这样跨线程的异常处理,需要将异常在线程之间相互传递。遇到异常时,将异常保存起来,之后再用rethrow将异常抛出
C++11中有std::current_exception()可以获取异常,生成一个std::exception_ptr保存起来,在另一个线程中用std::rethrow_exception()抛出异常
这里是示例 https://binglongx.wordpress.com/2010/01/03/handling-c-exceptions-thrown-from-worker-thread-in-the-main-thread/
偷懒的做法,可以用boost::exception
http://www.boost.org/doc/libs/1_57_0/libs/exception/doc/tutorial_exception_ptr.html
------解决思路----------------------
不好意思 我眼花了 没看清
不过,抛异常不是个好办法,去join线程不好么
------解决思路----------------------
我想让线程停止的时候抛出异常在状态栏(先不管这样做是否必要),来显示进程停止,结果发现错误。
不是是否必要的问题,这是明显错误的做法
不好意思 我眼花了 没看清
我想说的是,这个也算不上错