У меня есть цикл, который выглядит примерно так:
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
Это основное содержание метода, единственной целью которого является возвращение массива с плавающей точкой. Я хочу, чтобы этот метод возвращал, null
если есть ошибка, поэтому я помещаю цикл в try...catch
блок, например так:
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
Но потом я также подумал о том, чтобы поместить try...catch
блок внутрь цикла, например так:
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float myNum = Float.parseFloat(myString);
} catch (NumberFormatException ex) {
return null;
}
myFloats[i] = myNum;
}
Есть ли какая-либо причина, производительность или иное, чтобы отдать предпочтение одному над другим?
Редактировать: консенсус, кажется, заключается в том, что было бы чётче поместить цикл внутрь try / catch, возможно, внутри собственного метода. Тем не менее, есть еще споры о том, что быстрее. Может кто-нибудь проверить это и вернуться с единым ответом?