Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

أساسيات Try-Catch

جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 40 من 59.

تُستخدم كتل try-catch في لغة Java للتعامل مع الاستثناءات (الأخطاء) التي قد تحدث أثناء تنفيذ البرنامج. يوضع الكود الذي قد يتسبب في حدوث استثناء داخل كتلة try، بينما يوضع كود معالجة الخطأ داخل كتلة catch.

إليك الهيكل الأساسي لكتلة try-catch:

try {
   // الكود الذي قد يتسبب في استثناء
} catch (ExceptionType e) {
   // الكود للتعامل مع الاستثناء
}

لنرى ذلك عملياً مع Integer.parseInt()، الذي يقوم بتحويل String إلى عدد صحيح (integer):

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

بعد تنفيذ الكود أعلاه، تكون النتيجة هي:

Error: Not a valid number

challenge icon

التحدي

سهل

قم بإنشاء طريقة تسمى divideNumbers تأخذ ثلاث وسائط:

  1. سلسلة نصية (num1) تمثل الرقم الأول
  2. سلسلة نصية (num2) تمثل الرقم الثاني
  3. عدد صحيح (index) يمثل فهرس المصفوفة

يجب أن تقوم الطريقة بـ:

  1. إنشاء مصفوفة بحجم 2
  2. تخزين القيمة الصحيحة المحولة لـ num1 مقسومة على القيمة الصحيحة المحولة لـ num2 في الفهرس المعطى
  3. إرجاع القيمة الموجودة في الفهرس المعطى
  4. معالجة جميع الاستثناءات الممكنة برسائل خطأ مناسبة

يجب أن تكون رسائل الإرجاع:

  • بالنسبة لـ NumberFormatException: "Error: Invalid number format"
  • بالنسبة لـ ArithmeticException: "Error: Division by zero"
  • بالنسبة لـ ArrayIndexOutOfBoundsException: "Error: Invalid array index"
  • في حالة العملية الناجحة: إرجاع النتيجة كسلسلة نصية

ورقة مرجعية

تعالج كتل Try-catch الاستثناءات (الأخطاء) التي قد تحدث أثناء تنفيذ البرنامج. يوضع الكود الذي قد يتسبب في حدوث استثناء في كتلة try، بينما يوضع كود معالجة الخطأ في كتلة catch.

الهيكل الأساسي:

try {
   // الكود الذي قد يتسبب في حدوث استثناء
} catch (ExceptionType e) {
   // كود لمعالجة الاستثناء
}

مثال مع Integer.parseInt():

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

أنواع الاستثناءات الشائعة:

  • NumberFormatException - تنسيق رقم غير صالح
  • ArithmeticException - القسمة على صفر
  • ArrayIndexOutOfBoundsException - فهرس مصفوفة غير صالح

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // اكتب كودك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow