لمحة جافاوية 32: عن الاستثناءات

السلام عليكم

كيف حال الجميع
مازلت مصر على أن الجافا لغة جميلة
ولا أعلم ماذا سأدفع ثمناً لهذا الإصرار
ومازال الكثير من الأصدقاء يقولون أني مجنون
ما الجديد في هذا
الجنون ليس عيباً في كثير من الأحيان يكون مديحاً
على العموم ربما أكف عن جافا في يوم من الأيام
ربما اليوم
ربما غداً
وربما بعد قرن إن عشت
وربما أبقى عليها
لم لا نتكلم عن أشياء مفيدة
بدلاً من إصراري على أن تقرؤوا بعضاً من تفاهاتي الخاصة
نلاحظ في بعض الأحيان في جافا
بعض الأوامر تقوم بإنتاج مشاكل
ويجبرك الأخ مترجم compiler على معالجتها
البعض الآخر ينتج مشاكل
لكن الأخ مترجم لا يتكلم
ويبقيك على جهلك حتى إذا ما شغلت البرنامج
نطق الأخ مترجم فقال عجباً
نريد أن نعرف السبب
لكن بعد أن أسمع آراءكم
هيه سالي أسمعينا صوتك
ممممممممممممممممم
ربما هذا شيء وهذا شيء آخر
أعني أن جافا تحتوي شيئاً آخر غير الاستثناءات
ماذا عنك يا أماني ما رأيك
بصراحة ليست لدي خبرة في الاستثناءات
ماذا عنك يا ضياء
ربما هناك طريقة خاصة برمي الكائن
أنا أنا أنا أنا (بالتأكيد عرفتموه الأخ عبده ومن غيره)
تكلم يا فطحل أطربنا
ربما المترجم يحتوي على بعض الاستثناءات الخاصة
يقوم هوه بمعاجلتها بنفسه
مممممممممممممممممممممممم
(استعرتها من سالي 🙂 )
جميع الإجابات خاطئة ربما الأقرب الأخ عبده
لكنه غير صحيح
في جافا يوجد نوع خاص من الاستثناءات يحصل في وقت التنفيذ
ويسمى هذا النوع RunTimeException
أي استثناء يقوم بوراثة RunTimeException وليس Exception
(وأقصد بيرث هنا الأب المباشر)
فهو لا يحتاج إلى try catch
وإنما سيظهر في وقت التشغيل
هذه اللمحة موجهة للذين يعرفون الاستثناءات Exception
لماذا لم أقل هذا من البداية؟
أظنني لم أكف يوماً عن تعذيب من استطيع منكم
فلماذا يجب أن لا أفعل اليوم
ثم أن غير الأذكياء يستحقون ما يجري لهم

تحياتي

تعديل:شكراُ للأخت سلام

Tags: , , , , , , , , , , , ,

2 تعليقان to “لمحة جافاوية 32: عن الاستثناءات”

  1. يقول Salam:

    ( أي استثناء يقوم بوراثة هذه الفئة وليس Exception )
    كيف يعني ؟ كلنا بنعرف انو الException هو الsuper لكل الاستثناءات .. ؟
    شوفلي هالتقسيمة
    http://www.arb-up.com/files/arb-up-2008-6/Atq10996.jpg

  2. يقول admin:

    التقسيمة صحيحة سلام
    فعلاً Exception هو الأب لكل الاستثناءات
    والأخ RunTimeException يرث Exception
    ويسمى هذا النوع من الوراثة بالوراثة التخصيصية
    RunTimeException يقوم بتخصيص Exception بما يتناسب مع حاجته
    يبدو أنك تقصدين أن هناك لبس في الجملة
    ماذا عن قولنا
    أي استثناء لا يطلب منك أن تعاجه بـ try catch
    فهو يرث RunTimeException وليس Exception
    (وأقصد بيرث هنا الأب المباشر)

    تحياتي

Leave a Reply