Eu tenho um loop que se parece com isso:
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
Esse é o conteúdo principal de um método cujo único objetivo é retornar a matriz de flutuadores. Quero que esse método retorne null
se houver um erro, então coloquei o loop dentro de um try...catch
bloco, assim:
try {
for (int i = 0; i < max; i++) {
String myString = ...;
float myNum = Float.parseFloat(myString);
myFloats[i] = myNum;
}
} catch (NumberFormatException ex) {
return null;
}
Mas também pensei em colocar o try...catch
bloco dentro do loop, assim:
for (int i = 0; i < max; i++) {
String myString = ...;
try {
float myNum = Float.parseFloat(myString);
} catch (NumberFormatException ex) {
return null;
}
myFloats[i] = myNum;
}
Existe algum motivo, desempenho ou não, para preferir um ao outro?
Edit: O consenso parece ser que é mais limpo colocar o loop dentro do try / catch, possivelmente dentro de seu próprio método. No entanto, ainda há um debate sobre o que é mais rápido. Alguém pode testar isso e voltar com uma resposta unificada?