मेरे पास एक लूप है जो कुछ इस तरह दिखता है:
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;
}
क्या कोई कारण, प्रदर्शन या अन्यथा, एक से दूसरे को पसंद करना है?
संपादित करें: सर्वसम्मति से ऐसा लगता है कि लूप को ट्राई / कैच के अंदर रखने के लिए क्लीनर है, संभवतः अपने तरीके से। हालांकि, इस पर अभी भी बहस जारी है कि कौन सी बात तेज है। क्या कोई इसका परीक्षण कर सकता है और एकीकृत उत्तर के साथ वापस आ सकता है?