جدول المحتويات:
تعريف - ماذا يعني في النهاية بلوك؟
تشير الكتلة أخيرًا ، في سياق C # ، إلى مجموعة من العبارات التي يتم تنفيذها دائمًا ، بغض النظر عن الأحداث أو الاستثناءات غير المتوقعة التي قد تحدث أثناء تنفيذ التطبيق. يتم استخدامه اختياريًا مع كتلة "try / catch" ويضمن تنفيذ أي رمز يجب تنفيذه قبل الخروج من كتلة "try" ، بغض النظر عن نجاح أو فشل تنفيذ التطبيق.
يهدف تنفيذ كتلة أخيرة إلى تحرير الموارد ، مثل اتصالات قاعدة البيانات ، والتي عادة ما تكون متوفرة بكميات محدودة. من خلال هذه الآلية ، يتم التخلص من الموارد في وقت أبكر من عملية وضع اللمسات الأخيرة لجامع البيانات المهملة ، وبالتالي تحسين الذاكرة.
تيكوبيديا يشرح في النهاية بلوك
يمكن استخدام الكود الموجود في المربع الأخير لمعالجة الاستثناءات فور حدوثها ، وتنظيف الذاكرة المخصصة في كتلة "try" أو التخلص من الكائنات التي تحتوي على موارد خارجية (مثل مقابض الملفات) المستخدمة في كتلة "try". أخيرًا ، تسهل الكتلة أيضًا أداء مهام التدبير المنزلي مثل إعادة تعيين المؤشر إلى الحالة الطبيعية قبل وقت الاستثناء.
بشكل عام ، يتم تنفيذ التعليمات البرمجية داخل كتلة أخيرًا عندما يخرج عنصر التحكم عن كتلة try نتيجة للتنفيذ العادي ، نتيجة لتنفيذ عبارة "break" أو "goto" أو "Continue" أو "return" أو بسبب إلى استثناء من بيان المحاولة.
كلما حدث استثناء في كتلة المحاولة ، ينتقل التحكم من السطر الذي تسبب في حدوث الاستثناء إلى أقرب كتلة catch (معالج الاستثناء) ثم إلى الكتلة الأخيرة. أيضًا ، عند إعادة الاستثناء في كتلة catch ، يتم التحكم في عمليات النقل إلى المربع الأخير. وبالتالي ، سيتم تخطي الرمز الذي يتبع السطر الذي حدث فيه الاستثناء.
لا يجب طرح استثناءات بشكل صريح في كتلة أخيرة. في حالة حدوث استثناء أثناء تنفيذ حظر أخيرًا ، لن يتم تنفيذ أي رمز بعد النقطة التي يتم طرح الاستثناء فيها ، وسيتم نشر الاستثناء إلى كتلة المحاولة الخارجية المرفقة. إذا كانت الكتلة الأخيرة تعالج بالفعل استثناءً آخر ، فسيؤدي ذلك إلى إنهاء معالجة الاستثناء الحالي.
يجب الحرص على عدم نقل التنفيذ بشكل صريح إلى كتلة نهائية أو خارجها لأن هذا ليس نقلًا صالحًا.








