假设我有一个 TaskCompletionSource,我通过 SetException(Exception) 显式设置了它的异常。我是否仍然需要访问其任务的 Exception 属性以避免
“等待任务或访问其异常属性未观察到任务的异常。因此,终结器线程重新抛出未观察到的异常。”
信息?
具体例子:
try
{
ThreadEnd();
_disposeCompletionSource.SetResult(42);
}
catch (Exception e)
{
Log.FatalFormat("Caught unexpected exception while shutting down thread {0}:\n{1}", _thread.Name, e);
_disposeCompletionSource.SetException(e);
}
我是否需要继续()任务以避免在终结器线程上重新抛出异常,还是我很好?