مراجعة - معالجة الأخطاء
جزء من قسم Logic & Flow في رحلة C# على Coddy. الدرس 30 من 66.
التحدي
متوسطأنشئ أسلوبًا يُسمى processUserData يقوم بما يلي:
- يأخذ معلمتين: سلسلة نصية
filePathوعددًا صحيحًاuserAge - يستخدم عبارة using لقراءة السطر الأول من الملف الموجود في
filePath - يتحقق من أن
userAgeيتراوح بين 18 و120 (شاملًا) - إذا كان العمر غير صالح، فاطرح استثناءً مخصصًا يُسمى
InvalidUserAgeExceptionمع الرسالة "Age must be between 18 and 120" - إذا لم يكن الملف موجودًا، فالتقط FileNotFoundException واطبع "User file not found"
- إذا حدث استثناء IO آخر، فالتقطه واطبع "Error reading user data: [exception message]"
- بالنسبة إلى أي استثناءات أخرى، اطبع "An unexpected error occurred"
- أعد محتوى الملف إذا نجحت العملية، أو "No data" إذا حدث أي استثناء
جرّب بنفسك
using System;
using System.IO;
class ProcessUserData
{
// أنشئ استثناءك المخصص هنا
public static string processUserData(string filePath, int userAge)
{
// اكتب الكود الخاص بك هنا
}
}جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادتعريف وتهيئة المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادالمصفوفات المتعرجة (Jagged Arrays)عمليات المصفوفات الشائعةمراجعة - المصفوفات متعددة الأبعاد4تقنيات التحكم في التدفق
الإرجاع المبكرشروط الحمايةجمل القفز (goto)Break و Continueتسطيح الشروط المتداخلة7المعاملات المنطقية المتقدمة
التقييم المختصرالمعاملات المنطقية الشرطيةأولوية المعاملاتمراجعة - المعاملات المتقدمة2اتخاذ القرارات المتقدم
الشروط المتعددةالمنطق البولياني المعقدمقارنة بين If و Switchجمل Switch المتداخلةمراجعة - القرارات المتقدمة5معالجة الاستثناءات
أساسيات Try-Catchأنواع الاستثناءاتكتل Catch المتعددةالتعامل مع الملفاتكتلة FinallyUsing مقابل Try-Finallyاستثناءات مخصصةمراجعة - معالجة الأخطاء8نظام تحليل البيانات
إعداد جمع البياناتمنطق إدخال البيانات11HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمملخص - HashSet3تحسينات الحلقات التكرارية
أداء الحلقات التكراريةالتكرار عبر البيانات المعقدةأنواع الحلقات التكراريةإعادة هيكلة الحلقات التكراريةملخص - الحلقات المحسنة6التعامل مع الـ Null
أساسيات الـ Null Referenceأنواع القيم القابلة للـ Nullأنماط التحقق من الـ Nullالبرمجة الدفاعيةملخص - أمان الـ Nullتدرّب بنفسك: مترجم C# عبر الإنترنت