Назад к задачам
Junior — Senior
12

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

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Имеется интерфейс 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;
        }
    }
}