Знаете ли вы, как дорогое исключение бросания и обработка в java?
У нас было несколько дискуссий о реальной стоимости исключений в нашей команде. Некоторые избегают их как можно чаще, некоторые говорят, что потеря производительности с использованием исключений переоценивается.
Сегодня я нашел следующий код в нашем программном обеспечении:
private void doSomething()
{
try
{
doSomethingElse();
}
catch(DidNotWorkException e)
{
log("A Message");
}
goOn();
}
private void doSomethingElse()
{
if(isSoAndSo())
{
throw new DidNotWorkException();
}
goOnAgain();
}
Как производительность этого по сравнению с
private void doSomething()
{
doSomethingElse();
goOn();
}
private void doSomethingElse()
{
if(isSoAndSo())
{
log("A Message");
return;
}
goOnAgain();
}
Я не хочу обсуждать эстетику кода или что-то еще, это просто поведение во время работы! У вас есть реальный опыт/измерения?