Предположим, что save throws и i используется только для save. Являются ли следующие фрагменты кода одинаковыми? Пожалуйста, рассмотрите семантику, производительность и другие аспекты.
void bob(){
int i = calculate();
try {
save(i);
} catch(Exception e){
report(e)
}
}
против.
void bob(){
try {
int i = calculate();
save(i);
} catch(Exception e){
report(e)
}
}
Как правило, я хочу знать, следует ли разместить все выражения функции в блоке try-catch или просто метать.