الجمل الاستثنائية.. متى نستخدمها؟

الجمل الاستثنائية.. قد تكون مع المستخدم وضد المبرمج!

Go To  | Try…Catch

هي دلالة الجمل الاستثنائية في لغة vb.net، أقصد بالجمل الاستثنائية هي الجملة التي أضع بين أسطرها الشفرة البرمجية وفي حال وجود خطأ فإنها تتجاهل الخطأ وتستثنيه، نستخدم جمل الاستثناء كثيراً تحسباً لأي خطأ أو عارض يطرأ على البرنامج، فنطلب من البرنامج أن يقرأ باقي الشفرة مستثنياً ذاك الخطأ، الآن.. أنا أو أنت أو أي مبرمج آخر، وفي أثناء كتابة شفرة برنامج “س” بدأتها بجملة Try واستدعيت ما تريد من دوال وسطرت ما تريد من شفرات وأنهيتها بـ Catch، والرسالة الاستثنائية التابعة لها واتبعت النهاية بـ End Try.

ولكي تتأكد من صحة كتابة الشفرة، ذهبت مسرعاً لأيقونة Run وأنت تنتظر شاشة تنفيذ البرنامج وحاجبيك قد التصقت ببعضها! ستلحظ أن البرنامج (علّق). ينفذ دون جدوى،  فقط هي شاشة أمامك لكنها لا تنفذ شيئاً مما كتبته، ستذهب إلى نافذة الأخطاء، لن تجد هناك خطأ برمجي يذكر!

لماذا؟ – لأنك يا عزيزي، استعجلت،  فقمت بإعطاء لائحة تعليمات برمجية داخل جملة استثناء فبالتالي عند وجود الخطأ سيتجاهله، ولا يمكنك من معرفة هذا الخطأ إلا إذا قمت بتعليق جملة الاستثناء، فمن المستحسن أنك تكتب الشفرة البرمجية وتتأكد من تنفيذها بعد ذلك لا إشكال إن وضعتها بداخل جملة استثنائية لتتعقب أي خطأ بعد الانتهاء من البرنامج، فهناك أخطاء يمكن تجاهلها مع الحفاظ على سير البرنامج وهذه مفيدة جداً للمستخدم بحيث أن البرنامج سيتجاهل أي خطأ طفيف وليس فادح ويكمل بقية سير النظام،  فمن المحال أن يقف نظام كامل على خطأ لا يذكر، فبالطريقة السابقة ستكون الجمل الاستثنائية ضدك وبالطريقة هذه تكون الجمل الاستثنائية معك ومع المستخدم أيضاً.

كتبتها من واقع تجربة، وعلّها تفيدكم.

  • خالد محمد

    جزاك الله خيراً على مشاركة الخبرة.

    يجب أن لا يبدأ المبرمج مباشرة في كتابة البرنامج من دون دراسة ولو بسيطة لما سيكتب، فعليه معرفة أين يضع الجمل الإستثنائية، وأي الكائنات التي تحتاج أن يتم إحاطته بمثل هذه الجُمل.

    إن عدم التخطيط قبل كتابة البرامج يؤدي بالدرجة الأولى إلى عدم استقرار البرنامج، وكثرة الثغرات … وعند محاولة التحسين يقوم المبرمج عادةً بكتابة البرنامج من جديد.

    مراحل الاختبار الأولى ضرورية لأي برنامج، ويجب اختباره بوضع الاختبار debug mode.

  • Dev:M-TAHA

    عزيزي يجب ان يعرف المبرمج اين يجب ان يستخدمها بالضبط ،، ويجب أن يضع تعليقا يعلمه ما الخطا الذي حدث بين قوسي ال catch
    اتحدث من ناحية تعاملي لل exceptions في ال java

  • ملاحظة طفيفة … اذا انتج اي جزء من الكود الموجود بعد عبارة Try رسالة إعلام بوجود خطأ .. فسيتم الانتقال تلقائياً الى الكود الذي يظهر بعد عبارة Catch . وهو عادة يكون رسالة توضح نوع الخطأ وسبب حدوثه .. ويمكن انشاء نسخة من فئة Exception وادراجها في متغير حيث يمكن تسجيل نص الرسالة ضمن سجل الاحداث او في ملف أخطاء مخصص …
    لذا لاتقلق من استخدام عبارة معالجة الخطأ Try… Catch.. End Try ففائدتها كبيرة جدا بالنسبة لبرنامجك خاصة اذا كان هناك اي نوع من اخطاء العمليات ( اكثر انواع الاخطاء صعوبه في تحديد موضعها ) مثل اي عملية حسابية غير صحيحه .. وغالباً مايتم اكتشافها بعد نشر التطبيق ولن يسعدك في حينها ان ينهار برنامجك من اجل خطأ من هذا النوع ..

تعليقات عبر الفيسبوك