[Request] диагностика для return task внутри try...catch
От: Sinix  
Дата: 18.07.18 13:50
Оценка: +1
Пример кода из реального проекта (упростил):
    public Task<Something> TryGetSomethingAsync(string arg)
    {
        try
        {
            return GetSomethingAsync(arg);
        }
        catch (SomeException ex) // Nope.
        {
            throw HandleException(ex, arg);
        }
    }

Сопротивление бесполезно, угу

Как насчёт диагностики "утекания" промайза из области, обёрнутой в try{...} / using{...} ?
Промайза — т.к. кроме собственно Task<> так же может выстрелить любой awaitable тип (ValueTask, Task.ConfigureAwait() etc).

Если совсем заморочиться, то можно попытаться то же самое добавить для ленивых enumerable, но для них будет слишком много ложных срабатываний.
Отредактировано 18.07.2018 14:57 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.