У меня есть гипотетический вопрос о последствиях эффективности использования обработки исключений в ситуациях, когда не выбрасываются исключения.
Сначала взгляните на этот С#:
int simpleSimon, cautiousCarol, dangerousDave;
try
{
simpleSimon = int.Parse("fail");
}
catch
{
simpleSimon = 1;
}
try
{
cautiousCarol = int.Parse("1");
}
catch
{
cautiousCarol = 1;
}
dangerousDave = int.Parse("1");
Я уверен, что код Дейва будет самым быстрым/самым эффективным; в то время как Саймон понесет большой штраф за исключение.
Но как насчет Кэрол? Поскольку она не исключает никаких исключений, она нести штраф? Если да, то какой и насколько большой? (Снижение производительности или дополнительное использование памяти или что-то еще?)