الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما معنى إلقاء استثناء من النوع Exception؟ ولماذا لا يمكنني إلقاء استثناء باسم آخر؟

بدأه PHP 2 JAVA في 16 مايو 2009 · 3 رد · 636 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

نعرف بأن الاستثناءات تلقى من الصفوف التي لا يمكنها فعل شيء معيّن باستثناء الـ RunTime Exception.

ولكن لدي سؤالين:

السؤال الأول: لماذا لا يمكنني إلقاء الاستثناء التالي ومعالجته؟ ما الخطأ؟

public class myClass 
{
    public static void myMethod() throws BadException
    {
        throw new BadException();
    }
}

السؤال الثاني: عند استبدال الـ BadException بكائن Exception فإن العملية تتم ويتم إلقاء الاستثناء، ولكن ما الفائدة من إلقاء استثناء من نوع Exception؟ أليس الاستثناء يكون (واضحاً) حتى تتم معالجته، مثلاً الاستثناء: MidiUnavailableException لا يستطيع الوصول إلى مورد معين في مكتبة java sound حينها أقوم أنا بمعالجة هذا الأمر، ولكن ما الفائدة من إلقاء استثناء من نوع Exception نفسه؟

#2

هل قمت بتعريف الكلاس BadException؟؟

مثال


BadException() {
super("ALARM!! Something bad just happened!!");
}
}

public class TestException {
public static void myMethod() throws BadException
{
throw new BadException();
}
public static void main(String[] args) {
try {
myMethod();
} catch (BadException be) {
System.out.println(be.getMessage());
}
}
}
 class BadException extends Exception {

#3

الفكرة أن Exception هو عبارة عن كائن شامل بحيث يضم كل الاستثناءات الأخرى ,, حيث ان الإستثناءت الأخرى تقوم بالوراثة منه..

غالبا يستخدم إذا المبرمج لم يكن يعرف ماهية الخطأ الذي سوف يحدث عنده في الكود , فيقوم باستخدام ال Exception العام , بحيث لا يقوم باتسخدام الإستثناء المخصص لعدم معرفته بطبيعة الخطأ .

#4

لا مشاكل أخي في الكود الذي كتبته

طبعاً ما لم يكن الصف BadException غير معرف

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…