При отмене задачи с тайм-аутом (до истечения тайм-аута) с использованием токена отмены выдается исключение.Пример:
mytask.start();
bool didTaskRunInTime = mytask.wait(5 mins, _cancelToken);
Это означает, что я не могу продолжать, как показано ниже.
//was the task cancelled
if (_cancelToken.IsCancelRequested)
{
// log cancel from user to file etc
}
if (didTaskRunInTime )
{
int taskResult = myTask.Result;
// log result to file
}
else if (!_cancelToken.IsCancelRequested)
{
// Tell user task timed out , log a message etc
}
Мне придется делать все это в моем блоке catch, и мой код выглядит грязным.Как правильно это сделать?