Информация об изменениях

Сообщение Как лучше игнорить TaskCanceledException от 16.03.2020 8:39

Изменено 16.03.2020 8:42 Shmj

Как лучше игнорить TaskCanceledException
Если TaskCanceledException — штатная ситуация и нет смысла ее специально как-то обрабатывать. Не хочется ее отлавливать и писать пустой блок catch в нескольких местах.

Если написать так:

var task = Task.Run(() => { Console.WriteLine(1); })
                .ContinueWith(t => { }, TaskContinuationOptions.OnlyOnCanceled);


— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз задача не была исполнена — значит ее пришлось отменить а значит опять таки злополучный TaskCanceledException.

Как лучше игнорить?
Как лучше игнорить TaskCanceledException
Если TaskCanceledException — штатная ситуация и нет смысла ее специально как-то обрабатывать. Не хочется ее отлавливать и писать пустой блок catch в нескольких местах.

Если написать так:

var task = Task.Run(() => { Console.WriteLine(1); })
                .ContinueWith(t => { }, TaskContinuationOptions.OnlyOnCanceled);


— то при отмене задачи — все ОК. А вот если задача не была отменена — то уже сам ContinueWith вызывает TaskCanceledException, ибо так тупо сделали — раз ContinueWith не была исполнена — значит задачу пришлось отменить а значит опять таки злополучный TaskCanceledException.

Как лучше игнорить?