在 NET 1.x 中,當前景執行緒發生了例外(exception),並且此例外未被處理時,CLR 會捕捉並顯示例外的訊息;但是背景執行緒若有未處理的例外,CLR 不會顯示錯誤訊息。這表示使用者可能不會知道背景執行緒到底有沒有完成他的工作,或者發生了什麼錯誤。

到了 .NET 2.0,不管是前景執行緒還是背景執行緒,只要是應用程式沒有處理的例外,CLR 都會捕捉並顯示錯誤訊息。

參考:Exceptions in Managed Threads