none
子线程异常程序自动关闭 RRS feed

  • 问题

  • 软件里有3一个主线程。在线程中创建不定数量的子线程,在子线程中有socket和数据处理。在子线程中会偶尔发生异常,导致程序自动关闭。

    因为程序不是每次执行都出错。有时候运行了一天也没错误。偶尔发生一下,用VS调试是很难找到问题。请问有什么办法可以不让程序自动退出。

    2011年6月13日 12:10

答案

  • 偶尔出现的问题还是应该找到错误原因。

    你看什么方式能够比较方便的将子线程错误捕获,并记录下来。推荐使用文件日志的方式来记录。

    找到错误后,在针对这个错误进行处理。

    考虑到你使用了socket,网络问题可能是一个潜在的问题。你可以检查这方面代码。

     


    family as water
    2011年6月14日 1:40
  • 偶尔出现的问题还是应该找到错误原因。

    你看什么方式能够比较方便的将子线程错误捕获,并记录下来。推荐使用文件日志的方式来记录。

    找到错误后,在针对这个错误进行处理。

    考虑到你使用了socket,网络问题可能是一个潜在的问题。你可以检查这方面代码。

     


    family as water


    同意,在子线程的入口点try-catch所有异常记入日志

    socket在Read Write时会由于对端主动关闭等偶发性原因而抛出异常

    2011年6月14日 2:05

全部回复

  • 偶尔出现的问题还是应该找到错误原因。

    你看什么方式能够比较方便的将子线程错误捕获,并记录下来。推荐使用文件日志的方式来记录。

    找到错误后,在针对这个错误进行处理。

    考虑到你使用了socket,网络问题可能是一个潜在的问题。你可以检查这方面代码。

     


    family as water
    2011年6月14日 1:40
  • 偶尔出现的问题还是应该找到错误原因。

    你看什么方式能够比较方便的将子线程错误捕获,并记录下来。推荐使用文件日志的方式来记录。

    找到错误后,在针对这个错误进行处理。

    考虑到你使用了socket,网络问题可能是一个潜在的问题。你可以检查这方面代码。

     


    family as water


    同意,在子线程的入口点try-catch所有异常记入日志

    socket在Read Write时会由于对端主动关闭等偶发性原因而抛出异常

    2011年6月14日 2:05