Task.Exception Property
Definition
Gets the AggregateException that caused the Task to end prematurely. If the Task completed successfully or has not yet thrown any exceptions, this will return null
.
public:
property AggregateException ^ Exception { AggregateException ^ get(); };
public AggregateException Exception { get; }
public AggregateException? Exception { get; }
member this.Exception : AggregateException
Public ReadOnly Property Exception As AggregateException
Property Value
The AggregateException that caused the Task to end prematurely.
Remarks
Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a AggregateException in calls to Wait or in accesses to the Exception property. On .NET Framework 4.0, any exceptions not observed by the time the task instance is garbage collected will be propagated on the finalizer thread, which crashes the process. On .NET Framework 4.5 and later the default behavior changed so unobserved exceptions are not rethrown from the Finalizer. .NET Core does not rethrow the exception on the Finalizer. For more information and an example, see Exception Handling (Task Parallel Library).