问题一:在C#创建了一个线程,在线程运行过程中!如果出现了异常(如:下载网络上的文件,但这个文件并不存在或不可读等),如何处理这样的异常!问题二:当应用程序启动某线程后,因为发生异常而款正常结束线程!此时如果关闭应用程序,未结束的线程如何处理?问题三;如果测试网络上某个文件是否存在,有没有效率高一些的方法!

解决方案 »

  1.   

    二.辅助线程的.IsBackGroud=true;
    三.我想是另开线程异步执行吧,没做过:)
      

  2.   

    主线程里用 Application.ThreadException 加全局异常处理
    把辅线程的异常用this.BeginInvoke()传给主线程处理
      

  3.   

    把thread都存在一个hashtable里面,然后依次轮询。我一般都这么做,虽然有点浪费空间,但确实方便。
      

  4.   

    1.可以在线程中捕捉异常的,为什么不可以??
    2.设置线程的IsBackground = true;
    3.除了http文件,其它协议的文件,最好还是用socket对话
      

  5.   

    http://blog.csdn.net/debug_fan/archive/2005/09/12/478164.aspx
    附2:全局异常处理 + 多线程异常处理