0Pricing
Java Academy · درس

try/catch/finally

تعلّم استخدام try وcatch وfinally لمعالجة أخطاء وقت التشغيل بأمان.

try/catch/finally درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.

مقدمة

قد تواجه البرامج أحيانًا أخطاء، مثل الإدخال غير الصالح أو الملفات المفقودة أو القسمة على صفر. وتوفر Exceptions في Java طريقة لمعالجة هذه الأخطاء دون توقف البرنامج.

نظرة عامة على try/catch

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

الشفرة: try/catch البسيطة

تلتقط هذه الشفرة استثناء ArithmeticException وتطبع رسالة واضحة بدلًا من توقف البرنامج.

public class Main {
  public static void main(String[] args) {
    try {
      int x = 10 / 0; // risky division
      System.out.println("Result=" + x);
    } catch (ArithmeticException e) {
      System.out.println("Cannot divide by zero!");
    }
  }
}

كتل catch متعددة

يمكنكم تكديس عدة كتل catch لمعالجة أنواع مختلفة من الاستثناءات بشكل منفصل. يهم الترتيب: ضعوا الكتل المحددة قبل العامة.

الشفرة: كتل catch متعددة

يُلتقط NullPointerException بواسطة كتلته المحددة. ويمكن معالجة كل نوع بطريقة مختلفة.

public class Main {
  public static void main(String[] args) {
    try {
      String s = null;
      System.out.println(s.length()); // NullPointerException
    } catch (ArithmeticException e) {
      System.out.println("Math error");
    } catch (NullPointerException e) {
      System.out.println("Null reference error");
    }
  }
}

الشفرة: كتلة finally

تُنفَّذ كتلة finally سواء وقع استثناء أم لا. استخدموها للتنظيف، مثل إغلاق الملفات.

public class Main {
  public static void main(String[] args) {
    try {
      int[] arr = {1,2};
      System.out.println(arr[5]); // ArrayIndexOutOfBounds
    } catch (ArrayIndexOutOfBoundsException e) {
      System.out.println("Bad index!");
    } finally {
      System.out.println("Finally block always runs");
    }
  }
}

التحقق من finally

تحقق سريع: ما الغرض من كتلة finally؟

خلاصة

خلاصة: تتعامل try مع التعليمات البرمجية المحفوفة بالمخاطر، وتستجيب catch للأخطاء، وتُنفَّذ finally في كل مرة لإجراء التنظيف.

الأسئلة الشائعة

هل درس «try/catch/finally» مجاني؟

نعم — نص درس «try/catch/finally» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.

ماذا ستتعلم في «try/catch/finally»؟

تعلّم استخدام try وcatch وfinally لمعالجة أخطاء وقت التشغيل بأمان. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.

كم من الوقت يستغرق درس «try/catch/finally»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. try/catch/finally
  2. الاستثناءات المفحوصة مقابل غير المفحوصة
  3. قراءة Stack Traces
← العودة إلى Java Academy