У меня есть цикл, который выглядит примерно так:
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, возможно, внутри его собственного метода. Однако до сих пор ведутся споры о том, что быстрее. Может ли кто-нибудь проверить это и дать единый ответ?