11
ลอง / บล็อกจับเจ็บประสิทธิภาพเมื่อยกเว้นจะไม่โยน?
ในระหว่างการตรวจสอบรหัสกับพนักงานของ Microsoft เราพบเจอโค้ดส่วนใหญ่ภายในtry{}บล็อก เธอและตัวแทนด้านไอทีแนะนำว่าสิ่งนี้อาจมีผลต่อประสิทธิภาพของรหัส ในความเป็นจริงพวกเขาแนะนำว่ารหัสส่วนใหญ่ควรอยู่นอกบล็อคลอง / จับและควรตรวจสอบเฉพาะส่วนที่สำคัญเท่านั้น พนักงานไมโครซอฟท์ได้เพิ่มและกล่าวว่าเอกสารทางเทคนิคที่จะเกิดขึ้นเตือนว่าบล็อก try / catch ไม่ถูกต้อง ฉันได้ดูไปรอบ ๆ และพบว่าสามารถส่งผลกระทบต่อการปรับแต่งได้ แต่ดูเหมือนว่าจะใช้เฉพาะเมื่อมีการแชร์ตัวแปรระหว่างขอบเขต ฉันไม่ได้ถามเกี่ยวกับความสามารถในการบำรุงรักษาของรหัสหรือแม้กระทั่งการจัดการข้อยกเว้นที่ถูกต้อง (รหัสที่เป็นปัญหาต้องได้รับการพิจารณาใหม่ ฉันยังไม่ได้หมายถึงการใช้ข้อยกเว้นสำหรับการควบคุมการไหลนี่เป็นความผิดที่ชัดเจนในกรณีส่วนใหญ่ สิ่งเหล่านี้เป็นปัญหาที่สำคัญ (บางอย่างมีความสำคัญมากกว่า) แต่ไม่เน้นที่นี่ บล็อก try / catch มีผลกับประสิทธิภาพอย่างไรเมื่อข้อยกเว้นไม่ถูกส่งออก?
274
c#
performance
try-catch