تقييم الدرس 16: رسائل الأخطاء والاستثناءات والوقاية منها
إجاباتك تُحفظ تلقائيًّا على هذا الجهاز. أجب ثم اضغط «صحّح ورقتي» في آخر الصفحة.
← العودة إلى الدرس 16: رسائل الأخطاء والاستثناءات والوقاية منها
أسئلة التقييم
أسئلة تقييم الدرس: رسائل الأخطاء والاستثناءات والوقاية منها. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
File data = new File("data.xls"); try { Scanner scan = new Scanner(data); System.out.println("Name\t\tMark"); while (scan.hasNextLine()) { System.out.println(scan.nextLine()); } } catch (FileNotFoundException ex) { System.out.println(ex.getMessage()); }
public static void main(String[] args) { try { int result = divideNumbers(10, 0); System.out.println("Result: " + result); } catch (ArithmeticException e) { System.out.println("An arithmetic exception occurred " + e.getMessage()); }}public static int divideNumbers(int dividend, int divisor) { return dividend / divisor;}
public static void main(String[] args) { try { String [] names = {"Ali", "Bandr", "Fahad"}; System.out.println(names[3]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Error: " + e.getMessage()); }}
public class Main { public static void main(String[ ] args) { int[] myNumbers = {1, 2, 3}; System.out.println(myNumbers[10]); // This is an error! }}
public class Main{ public static void main(String[] args) { try { System.out.print("A"); int x = 5 / 0; System.out.print("B"); } catch (ArithmeticException e) { System.out.print("C"); } }}
int sum = 0;for (int i = 1; i < 4; i++) sum += i;System.out.println(sum);
int sum = 7, n = 2;double avg = sum / n;System.out.println(avg);
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
4السؤال الرابع: أكمل الفراغات
1) الكلاس الأب لكل استثناءات البرامج: .
💡 الكلاس الأساسي لجميع الاستثناءات.
2) القسمة على صفر تطلق Exception.
💡 القسمة على صفر: ___Exception.
3) الفهرس خارج المصفوفة: ArrayIndexOutOfException.
💡 خارج الحدود بالإنجليزية.
4) لإعلان الاستثناء في رأس الدالة نستخدم .
💡 تُكتب في رأس الدالة للتصريح بالاستثناء.
5السؤال الخامس: التوصيل
طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):
- 1) try
- 2) catch
- 3) finally
- 4) throw
- 5) Error
- أ. تُنفَّذ دائمًا.
- ب. كود مشكوك فيه.
- ج. تطلق استثناء.
- د. مشكلة في الجهاز.
- هـ. تعالج الاستثناء.
6السؤال السادس: أسئلة عملية
1) تتبّع الناتج:
public class Main{ public static void main(String[] args) { int[] a = {1, 2, 3}; try { System.out.println(a[3]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Bad index"); } finally { System.out.println("Done"); } }}
2) اكتب كود يقسم 10 على 0 داخل try ويطبع «لا يمكن القسمة على صفر» عند الخطأ.
public class Main{ public static void main(String[] args) { try { System.out.println(10 / 0); } catch (ArithmeticException e) { System.out.println("لا يمكن القسمة على صفر"); } }}
أكمل الكود من مثال الدرجات: معالجة رقم خارج حدود المصفوفة
try { idx = scan.nextInt(); System.out.println("The mark is: " + marks[idx]);} ( e) { System.out.println("ERROR: the number " + idx + " is out of range");} { System.out.println("finally block");}
4) تتبّع الناتج (برنامج فيه خطأ منطقي):
int count = 0;for (int i = 1; i <= 7; i++) { if (i % 2 == 1) count++;}System.out.println(count);
5) تتبّع الناتج بعد التصحيح:
int count = 0;for (int i = 1; i <= 7; i++) { if (i % 2 == 0) count++;}System.out.println(count);