Эффективность исключения, когда ничего не выбрасывается

У меня есть гипотетический вопрос о последствиях эффективности использования обработки исключений в ситуациях, когда исключения не генерируются.

Сначала взгляните на этот C #:

int simpleSimon, cautiousCarol, dangerousDave;

try
{
    simpleSimon = int.Parse("fail");
}
catch
{
    simpleSimon = 1;
}

try
{
    cautiousCarol = int.Parse("1");
}
catch
{
    cautiousCarol = 1;
}

dangerousDave = int.Parse("1");

Я уверен, что код Дейва будет самым быстрым / эффективным; в то время как Саймон понесет большой штраф за выброс исключения.

А как насчет Кэрол? Если она не выбрасывает исключений, налагает ли она штраф? Если да, то какого и какого размера? (Снижение производительности, дополнительное использование памяти или что-то еще?)

10
задан Daniel A. White 16 February 2011 в 18:42
поделиться