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

إطلاق الاستثناءات

جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 42 من 59.

تسمح لك الكلمة المفتاحية throw في Java برمي استثناء بشكل صريح. إليك الهيكل الأساسي:

throw new ExceptionType("Error message");

المكونات هي:

  • throw: كلمة مفتاحية لرمي استثناء
  • new ExceptionType: ينشئ استثناءً جديدًا (مثل IllegalArgumentException)
  • "Error message": يصف الخطأ الذي حدث

دعونا نراها قيد التنفيذ:

int age = -5;
if (age < 0) {
    throw new IllegalArgumentException("Age cannot be negative");
}

بعد تنفيذ الكود أعلاه، يقوم البرنامج بطرح:

IllegalArgumentException: Age cannot be negative

challenge icon

التحدي

سهل

قم بإنشاء دالة (method) تسمى validateAge تأخذ وسيطين (arguments):

  1. عدد صحيح (age) للتحقق من صحته
  2. قيمة منطقية (strict) تحدد قواعد التحقق

يجب أن تقوم الدالة برمي استثناءات (exceptions) بناءً على هذه القواعد:

  • إذا كان العمر سالباً: قم برمي IllegalArgumentException مع الرسالة "Age cannot be negative"
  • إذا كان العمر أكبر من 150: قم برمي IllegalArgumentException مع الرسالة "Age cannot be greater than 150"
  • إذا كانت قيمة strict هي true والعمر هو 0: قم برمي IllegalArgumentException مع الرسالة "Age cannot be zero in strict mode"
  • إذا لم يتم رمي أي استثناء: قم بإرجاع العمر كسلسلة نصية (string)

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static String validateAge(int age, boolean strict) {
        // اكتب كودك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = Integer.parseInt(scanner.nextLine());
        boolean strict = Boolean.parseBoolean(scanner.nextLine());
        
        try {
            System.out.println(validateAge(age, strict));
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }
}
quiz iconاختبر نفسك

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

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت