ฉันมีห่วงที่มีลักษณะเช่นนี้:
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;
}
มีเหตุผลประสิทธิภาพหรืออย่างอื่นที่จะชอบอย่างใดอย่างหนึ่งมากกว่าอื่น ๆ ?
แก้ไข:ฉันทามติดูเหมือนว่าจะสะอาดกว่าที่จะใส่วนเข้าไปในลอง / จับอาจเป็นไปได้ในวิธีการของตัวเอง อย่างไรก็ตามยังมีข้อถกเถียงที่เร็ว ใครบางคนสามารถทดสอบสิ่งนี้และกลับมาพร้อมกับคำตอบแบบรวม?