Sobes.tech
Back to tasks
Junior — Senior
67

Надёжный вызов асинхронного метода: обнаружение проблем с обработкой исключений

Get help with live coding in real time with Sobes Copilot
Task condition

Имеется интерфейс I с асинхронным методом DoThings() и класс F, который пытается вызвать его «безопасно», то есть без проброса исключений наружу. В текущей реализации присутствует несколько ошибок, их необходимо выявить.

class SafeExecutor
{
    public interface IService
    {
        Task DoThings();
    }

    public Task DoThingsSafely(IService service)
    {
        try
        {
            return service.DoThings();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Handle exception: {ex.Message}");
            return Task.CompletedTask;
        }
    }
}