在 .NET Framework 4 中,默认情况下,如果 Task 存在未观察到异常的,则终结器将引发异常并终止进程。 进程终止由垃圾回收和终止的时间决定。
为了使开发人员可以更轻松地根据任务编写异步代码,.NET Framework 4.5 更改未观察到异常的此默认行为。 未观察到异常仍会 UnobservedTaskException 引发事件,但在默认情况下,进程不会终止。 相反,引发事件后将忽略此异常,而不管事件处理程序是否观察到该异常。
在 .NET Framework 4.5 中,可以使用应用程序配置文件中的 <ThrowUnobservedTaskExceptions> 元素来启用引发异常的 .NET Framework 4 行为。
摘:总之,.NET4.5中的Task的一些改进,都是为了迎合异步async/await的写法而做出的改进
http://blog.zhaojie.me/2012/04/exception-handling-in-csharp-async-await-1.html