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

الاستثناءات في البرمجة

بدأه Game111 في 12 مايو 2011 · 3 رد · 760 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اذا بحثنا في لغات البرمجة نجد exception and error classes , ما الفائدة منها و كيف نستفيد منها ؟ و ما الفرق بينها و بين throwable class , و ما اذا تعني كلمة throw ؟

ما الفرق بين try-catch و throw

اتمنى ان تجيبوا على تساؤلاتي

و شكرا

#2

معالجة الاستئناءات تمكنك من معالجة خطأ ربما يتسبب في توقف عمل البرنامج

عندما تريد معالجة الاستئناء يجب ان تضع الكود الذي قد يتسبب في الاستثناء في جملة try ومن ثم تعالجة في جملة catch

try

{

something may go wrong here

}

catch(ExceptioYtype)

{

if the error is of type ExceptionType then the error will be handled here

and the program continues normally

}

في لغة جافا كل الاستثناءات تعتبر thorwable اي انها تطبق الانتيرفايس thorwable

جملة throw مفيده عندما انت تريد ان تتسبب باستثناء

مثلا قل انك تريد ان يدخل المستخدم رقم بين 0 - 30 مالم فانك سوف تعطية رسالة خطأ

try{

int i = Integer.parseInt(JOptionPane.showInputDialog("Enter a searching word"));

if(i > 30)
throw new BigNumberException();
}
catch(NumberFormatException ex){
 JOptionPane.showMessageDialog(null, "your input is not a number");
}
catch(BigNumberException ex){
JOptionPane.showMessageDialog(null, "you have entered a number that is bigger than 30");
}

لاحظ انه في الحالة الاولى الخطأ هو عبارة عن exception يحدث عندما يحاول المترجم تحويل الـ string الى int هنا تقوم جافا برمي الاستثناء throw

بينما في الحالة الثانية قمنا نحن برمي الاستثناء بشكل متعمد بعد جملة if طبعا الاستثناء BigNumberException ليس استثناء قياسي موجود في جافا

وانما قمت انا بتعريفه كاستثناء جديد ، هذا لا يعني انك لا تستطيع الا ان ترمي الاستثناءات التي قمت انت بعملها ، يمكنك رمي اي استثناء يعمل implementation لــ throwable

اتمنى ان يكون ردي قد افادك

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4

وضحت الفكرة , شكرا

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