Сообщение Как лучше игнорить TaskCanceledException от 16.03.2020 8:39
Изменено 16.03.2020 8:42 Shmj
Как лучше игнорить TaskCanceledException
Если TaskCanceledException — штатная ситуация и нет смысла ее специально как-то обрабатывать. Не хочется ее отлавливать и писать пустой блок catch в нескольких местах.
Если написать так:
— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз задача не была исполнена — значит ее пришлось отменить а значит опять таки злополучный TaskCanceledException.
Как лучше игнорить?
Если написать так:
var task = Task.Run(() => { Console.WriteLine(1); })
.ContinueWith(t => { }, TaskContinuationOptions.OnlyOnCanceled);
— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз задача не была исполнена — значит ее пришлось отменить а значит опять таки злополучный TaskCanceledException.
Как лучше игнорить?
Как лучше игнорить TaskCanceledException
Если TaskCanceledException — штатная ситуация и нет смысла ее специально как-то обрабатывать. Не хочется ее отлавливать и писать пустой блок catch в нескольких местах.
Если написать так:
— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз ContinueWith не была исполнена — значит задачу пришлось отменить а значит опять таки злополучный TaskCanceledException.
Как лучше игнорить?
Если написать так:
var task = Task.Run(() => { Console.WriteLine(1); })
.ContinueWith(t => { }, TaskContinuationOptions.OnlyOnCanceled);
— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз ContinueWith не была исполнена — значит задачу пришлось отменить а значит опять таки злополучный TaskCanceledException.
Как лучше игнорить?