إطلاق الاستثناءات
جزء من قسم المنطق وتدفق التنفيذ في رحلة 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
التحدي
سهلقم بإنشاء دالة (method) تسمى validateAge تأخذ وسيطين (arguments):
- عدد صحيح (
age) للتحقق من صحته - قيمة منطقية (
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());
}
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت