Why exceptions raised on threadPool thread are not handled by Main thread in C#
<p>I have the following code Snippet.</p>

<pre><code>class Program
{
    static void Main(string[] args)
    {
        try
        {
            Thread m_thread = new Thread(() =&gt;
                {
                    //try
                    //{
                        checkexc();
                    //}
                    //catch (Exception ex)
                    //{

                    //}
                }
                );               
            m_thread.Start();

        }
        catch (Exception ex)
        {

        }
    }
    static void checkexc()
    {
        throw new NullReferenceException();
    }
}
</code></pre>

<p>NullReferenceException is not handled by the covering Try-Catch block. However if i wrap the delegate inside thread() constructor, then it is handled by that Try-Catch. Why doesnot outer Try-Catch handle this exception.</p>
