0Pricing
C# Academy · درس

فهم معالجة الاستثناءات

تعامل مع أخطاء وقت التشغيل بسلاسة باستخدام تقنيات معالجة الاستثناءات

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

مقدمة إلى معالجة الاستثناءات

فهم معالجة الاستثناءات

مرحبًا بكم في الدرس التالي! ستتعلّمون في هذا الدرس معالجة الاستثناءات في C#، وأهميتها، وكيفية التعامل مع الأخطاء بفعالية في تطبيقاتكم. لنبدأ!

فهم معالجة الاستثناءات — رسم توضيحي 1

ما المقصود بمعالجة الاستثناءات؟

ما المقصود بمعالجة الاستثناءات؟

معالجة الاستثناءات هي آلية للاستجابة لأخطاء وقت التشغيل بطريقة منظّمة. وتضمن إمكانية استمرار برنامجكم في العمل بسلاسة عند مواجهة ظروف غير متوقعة.

نقطة مهمة: استخدموا معالجة الاستثناءات لمنع تطبيقكم من التعطّل وتقديم معلومات مفيدة للمستخدمين.

كتلة Try-Catch

كتلة Try-Catch

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

نقطة مهمة: استخدموا أنواعًا محددة من الاستثناءات داخل كتلة catch لمعالجة الأخطاء المختلفة.

using System;

class Program {
    static void Main() {
        try {
            int result = 10 / 0; // This will throw a DivideByZeroException
        } catch (DivideByZeroException ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}

كتلة Finally

كتلة Finally

تُستخدم كتلة finally لتنفيذ كود يجب تشغيله بغض النظر عن حدوث استثناء من عدمه. مثال:

نصيحة: استخدموا كتلة finally لعمليات التنظيف، مثل إغلاق الملفات أو اتصالات قواعد البيانات.

using System;

class Program {
    static void Main() {
        try {
            int[] numbers = { 1, 2, 3 };
            Console.WriteLine(numbers[5]); // This will throw an IndexOutOfRangeException
        } catch (IndexOutOfRangeException ex) {
            Console.WriteLine("Error: " + ex.Message);
        } finally {
            Console.WriteLine("This will always execute.");
        }
    }
}

طرح الاستثناءات

طرح الاستثناءات

يمكنكم استخدام الكلمة الأساسية throw لطرح الاستثناءات يدويًا. مثال:

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

using System;

class Program {
    static void Main() {
        try {
            ValidateAge(15);
        } catch (Exception ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }

    static void ValidateAge(int age) {
        if (age < 18) {
            throw new ArgumentException("Age must be 18 or older.");
        }
    }
}

الاستثناءات المخصصة

الاستثناءات المخصصة

يمكنكم تعريف فئات استثناءات مخصصة لمعالجة أخطاء محددة في التطبيق. مثال:

نصيحة: استخدموا الاستثناءات المخصصة لتوفير رسائل خطأ مفيدة ومرتبطة بمنطق تطبيقكم.

using System;

class CustomException : Exception {
    public CustomException(string message) : base(message) {}
}

class Program {
    static void Main() {
        try {
            throw new CustomException("This is a custom exception.");
        } catch (CustomException ex) {
            Console.WriteLine("Caught custom exception: " + ex.Message);
        }
    }
}

تحدي تدريبي

تحدي تدريبي

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

using System;

class Program {
    static void Main() {
        try {
            Console.WriteLine("Enter a number:");
            int number = int.Parse(Console.ReadLine());
            if (number < 0) {
                throw new ArgumentException("Number cannot be negative.");
            }
            Console.WriteLine("You entered: " + number);
        } catch (Exception ex) {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}

أفضل الممارسات لمعالجة الاستثناءات

أفضل الممارسات لمعالجة الاستثناءات

إليكم بعض أفضل الممارسات:

  • التقطوا الاستثناءات المحددة فقط لتجنب إخفاء الأخطاء الأخرى.
  • استخدموا كتلة finally لتنظيف الموارد.
  • اطرحوا الاستثناءات في الحالات الاستثنائية، وليس للتحكم في تدفق التنفيذ.
  • سجّلوا الاستثناءات لتتبّع المشكلات في بيئات الإنتاج.

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

مراجعة معالجة الاستثناءات

أحسنتم!

تهانينا! لقد تعلّمتم كيفية معالجة الاستثناءات بفعالية لبناء تطبيقات مقاومة للأخطاء. في الدرس التالي، سنستكشف التعامل مع قواعد البيانات لإدارة البيانات والاستعلام عنها. لنواصل البرمجة!

فهم معالجة الاستثناءات — رسم توضيحي 10

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

هل درس «فهم معالجة الاستثناءات» مجاني؟

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

ماذا ستتعلم في «فهم معالجة الاستثناءات»؟

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

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

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

كم من الوقت يستغرق درس «فهم معالجة الاستثناءات»؟

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

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

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

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

  1. قراءة الملفات وكتابتها
  2. العمل مع JSON وXML
  3. فهم معالجة الاستثناءات
  4. العمل مع قواعد البيانات
  5. استخدام LINQ لاستعلامات البيانات
← العودة إلى C# Academy