none
关于异常抛出的问题 RRS feed

  • 问题

  •    在方法A中调用方法B,我在方法A中try..catch 将B方法包裹。

       方法B中将会新开辟一个新的线程,在线程的执行过程中的代码 没有手动抛出异常,也没有使用 try..catch。 

       那么我想问 如果线程中执行出错了,那么A方法能否抛出异常?


    • 已编辑 Rainrcn 2012年8月17日 13:47
    2012年8月17日 13:46

答案

  • 会。

    namespace CSharp
    {
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using System.Threading;
        class Program
        {
            static void B()
            {
                Thread th = new Thread(() => 
                {
                    throw new Exception("抛出异常……");
                });
                th.IsBackground = true;
                th.Start();
            }
            static void Main(string[] args)
            {
                try
                {
                    B();
                    Console.Read();
                }
                catch (Exception)
                {
                    Console.WriteLine("接受异常");
                }
            }
        }
    }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    • 已标记为答案 Rainrcn 2012年8月18日 11:27
    2012年8月18日 7:34
    版主