В продолжение вопроса
С# стоимость приведения типа?
Встречал мнения что обработка исключений в С# замедляет работу приложения. Сильно ли заметном это в реальном приложении?
Пример в ASP NET Core
[HttpPut]
public IActionResult Update(SomeDto someDto)
{
Validate(someDto);
var result = DoBuissness(someDto);
return new OkObjectResult(result);
}
Что если метод Validate при нахождении ошибки при валидации будет генерировать исключение throw new MyValidationEcxeption(); которое будет обрабатываться глобальным обработчиком исключений в ASP NET Core и вернет нужный 400 статус код на этот запрос. То же самое с методом DoBuissness.
Второй вариант классическая реализация
[HttpPut]
public IActionResult Update(SomeDto someDto)
{
var validationResult = Validate(someDto);
if(string.IsNullOrEmpty(validationResult ))
return new BadObjectResult(validationResult);
var result = DoBuissness(someDto);
return new OkObjectResult(result);
}
На сколько адекватная первая схема в отличии от классической второй?
Интересует в первую очередь скорость работы