สารบัญ:
นิยาม - ในที่สุดบล็อกหมายความว่าอย่างไร
ในที่สุดบล็อกในบริบทของ C # หมายถึงบล็อกของคำสั่งที่ดำเนินการเสมอโดยไม่คำนึงถึงเหตุการณ์ที่ไม่คาดคิดหรือข้อยกเว้นที่อาจเกิดขึ้นระหว่างการดำเนินการของแอปพลิเคชัน มันถูกใช้เป็นทางเลือกกับบล็อก "ลอง / จับ" และรับประกันการทำงานของรหัสใด ๆ ที่จะต้องดำเนินการก่อนที่จะออกจากบล็อก "ลอง" โดยไม่คำนึงถึงความสำเร็จหรือความล้มเหลวของการทำงานของแอปพลิเคชัน
การดำเนินการของบล็อกในที่สุดมีวัตถุประสงค์เพื่อปล่อยทรัพยากรเช่นการเชื่อมต่อฐานข้อมูลซึ่งมักจะมีอยู่ในปริมาณที่ จำกัด โดยกลไกนี้การกำจัดทรัพยากรจะเกิดขึ้นเร็วกว่าการดำเนินการขั้นสุดท้ายของตัวรวบรวมขยะซึ่งจะเป็นการเพิ่มประสิทธิภาพหน่วยความจำ
Techopedia อธิบายบล็อกสุดท้าย
รหัสในบล็อกสุดท้ายสามารถใช้เพื่อจัดการข้อยกเว้นได้ทันทีที่เกิดขึ้นให้ล้างหน่วยความจำที่จัดสรรในบล็อก "ลอง" หรือกำจัดวัตถุที่มีทรัพยากรภายนอก (เช่นตัวจัดการไฟล์) ที่ใช้ในบล็อก "ลอง" บล็อกสุดท้ายยังช่วยให้ประสิทธิภาพการทำงานของงานแม่บ้านเช่นการรีเซ็ตเคอร์เซอร์ไปสู่สถานะปกติก่อนช่วงเวลาของข้อยกเว้น
โดยทั่วไปรหัสภายในบล็อกสุดท้ายจะถูกดำเนินการเมื่อตัวควบคุมออกจากบล็อกแบบลองอันเป็นผลมาจากการดำเนินการตามปกติอันเป็นผลมาจากการดำเนินการของคำสั่ง "break", "goto", "Continue" หรือ "return" หรือ เพื่อยกเว้นจากคำสั่งลอง
เมื่อใดก็ตามที่มีข้อยกเว้นเกิดขึ้นในบล็อกลองการควบคุมผ่านจากบรรทัดที่ทำให้เกิดข้อยกเว้นไปยังบล็อก catch ที่ใกล้ที่สุด (ตัวจัดการข้อยกเว้น) แล้วไปยังบล็อกสุดท้าย นอกจากนี้เมื่อข้อยกเว้นถูก rethrown ใน catch block การควบคุมการถ่ายโอนไปยังบล็อกในที่สุด ดังนั้นรหัสที่ตามหลังบรรทัดที่มีข้อยกเว้นเกิดขึ้นจะถูกข้ามไป
ข้อยกเว้นไม่ควรโยนอย่างชัดเจนในที่สุดบล็อก หากมีข้อยกเว้นเกิดขึ้นระหว่างการดำเนินการของบล็อกในที่สุดรหัสใด ๆ หลังจากจุดที่มีการโยนข้อยกเว้นจะไม่ดำเนินการและข้อยกเว้นจะแพร่กระจายไปยังบล็อกลองล้อมรอบด้านนอก หากบล็อกสุดท้ายจัดการกับข้อยกเว้นอื่นอยู่แล้วจะส่งผลให้มีการยกเลิกการประมวลผลข้อยกเว้นปัจจุบัน
ควรใช้ความระมัดระวังอย่าถ่ายโอนการดำเนินการเข้าหรือออกจากบล็อกในที่สุดอย่างชัดเจนเนื่องจากไม่ใช่การถ่ายโอนที่ถูกต้อง