السلام عليكم ورحمة الله وبركاته
لقد بحثت عن موضوع عن ال exception error ولكني لم اجده ممكن حد يشرح بصورة عامة ماهي الفروق بين throw exception and catch exception وكيف يتعامل معها ال compiler
ولكم جزيل الشكر مقدماً...
السلام عليكم ورحمة الله وبركاته
لقد بحثت عن موضوع عن ال exception error ولكني لم اجده ممكن حد يشرح بصورة عامة ماهي الفروق بين throw exception and catch exception وكيف يتعامل معها ال compiler
ولكم جزيل الشكر مقدماً...
عامة لأنه ليس لي دراية بالجافا :
catch exception تستقبل الـ exception الذي يحدث أثناء تنفيذ الكود ,
أما throw exception فتقوم بالقاء exception في الوقت الذي تحدده (في داخل الكود) ,
مثلا : يمكنك أن تستخدم throw exception عندما تقوم بالتحقق من بيانات يدخلها المستخدم في برنامجك ,,,
وأترك الأمثله لأعضاء القسم ,,,
تم تعديل هذه المشاركة بواسطة hazzoom في 19 أكتوبر 2005 في 06:29
في البداية
هنالك نوعان من exceptions
1. الاول يسمى checked exception و هذا النوع يجب و ضعه في (try catch block ) , يقوم الـ compiler باعطاء خطا ان لم تفعل .
2 النوع الثاني وهو unchecked exception و هذا لا يجب و ضعه في try catch block و لكن ان وضعته يكون صحيح
اما عن موضوع الـ catch فكما قال لك الاخ hazzoom
[quote[catch exception تستقبل الـ exception الذي يحدث أثناء تنفيذ الكود ,
أما throw exception فتقوم بالقاء exception في الوقت الذي تحدده (في داخل الكود)[quote[
منقطع من حين لاخر
ساضرب لك مثالا بسيطا
لو انك عملت برنامج يقوم بجمع رقمين عبر ادخال الرقمين في مربع نص لكل واحد
و قام المستخدم بدلا من ادخال الارقام كتب Mohammed Mansoor لن يعمل البرنامج واحيانا البرنامج ينتهي
ولكن اذا اردنا ان يستمر البرنامج و لكن تظهر رسالة خطا للمستخدم نقوم بعمل catch
هذا المثال ارجو ان يوضح لك
try
{
String num1=JOptionPane.showInputDialog(null,"Enter First Number:");
String num2=JOptionPane.showInputDialog(null,"Enter Second Number:");
int int1=Integer.parseInt(num1);
int int2=Integer.parseInt(num2);
int sum=int1+int2;
JOptionPane.showMessageDialog(null,"Sum = "+sum);
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"Error","Error",JOptionPane.ERROR_MESSAGE);
}منقطع من حين لاخر
جزيتم خيرا اخواني الكرام على تفاعلكم
هذا الموضوع مغلق.