请问如果在每个线程里面都用到了如COM,Socket等东东的时候,是不是每个线程里面都用要CoInitialize和AfxSocketInit初始化一下,否则就会发生不可预知的错误?

解决方案 »

  1.   

    昏了,到底需要不需要啊?因为我的程序已经发生了这样一个"不可预知的错误",并且这个错误不好测试,所以我才问的.我的错误情况如下:
    程序正常运行10天后(已经成功执行这条语句上千次)
    在执行语句socket时发生了错误.
    用try(...)catch(){}捕获到了这个错误,调用WSAGetLastError却返回0.
    如果不加try,程序没有任何提示直接退出!
      

  2.   

    我想既然是用try抓住的异常,且已经运行10天,应该就跟socket函数没关系了,所以WSAGetLastError返回0
    可能是你有一个地方遗漏了返回值判断,出错后继续运行导致的不过我也没试过是不是每个线程初始化,我想应该不需要的,写一个小例子试一下就知道了
      

  3.   

    我写了日志,的的确确是在执行到socket函数时发生的错误!
    就算如你所说,"可能是你有一个地方遗漏了返回值判断,出错后继续运行导致的"
    那我应该如何来查找这个错误呢?