English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# Basic Tutorial

C# Advanced Tutorial

C# Object-Oriented (OOP)

فئات الاستثناء في C#

سوف تتعرف في هذا الجزء على فئات الاستثناءات المدمجة في C#.

يقدم C#.NET فئة استثناء مدمجة لكل خطأ محتمل. Class Exception هي فئة الأصل لجميع فئات الاستثناء.

إليك هيكل فئات الاستثناءات في .NET:

فئات الاستثناءات في .NET

في الشكل السابق، Class Exception هي فئة الأصل لـ Class SystemException و Class ApplicationException. Class SystemException هي فئة الأصل لجميع الاستثناءات التي يمكن أن تحدث أثناء تنفيذ البرنامج. يجب أن تنشأ Class ApplicationException لتكوين فئات استثناء مخصصة. يمكن إنشاء فئات مخصصة لإنشاء استثناءات تتعلق بخرق قواعد الأعمال أو الأخطاء المتعلقة بالتطبيق.

يُظهر الشكل أدناه كيف يتم إطلاق استثناء NullReferenceException عند محاولة الوصول إلى خاصية العنصر النصري في وضع التتبع في Visual Studio.

NullReferenceException

فئات الاستثناءات المدمجة

يُدرج في الجدول أدناه الفئات المهمة من الاستثناءات المدمجة في .NET.

فئة الاستثناءالوصف
ArgumentExceptionتُطلق عند عدم صحة المعامل غير المحدد كnull.
ArgumentNullExceptionتُطلق عند إرسال معامل null إلى الطريقة.
ArgumentOutOfRangeExceptionتُطلق عند تجاوز قيمة المعامل للنطاق المقبول.
DivideByZeroExceptionتُطلق عند قيام عدد صحيح بتقسيم الصفر.
FileNotFoundExceptionتُطلق عند عدم وجود ملف مادي في الموضع المحدد.
FormatExceptionتُطلق عند عدم تناسب تنسيق القيمة مع طريقة التحويل (مثل Parse) من النص.
IndexOutOfRangeExceptionتُطلق عند تجاوز نطاق مؤشرات مصفوفة أو مجموعة.
InvalidOperationExceptionتُطلق عند عدم صحة استدعاء الطريقة في حالة الحالة الحالية للعنصر.
KeyNotFoundExceptionتُطلق عند عدم وجود مفتاح معين يستخدم لتحديد العضو في المجموعة.
NotSupportedExceptionتُطلق عند عدم دعم الطريقة أو العملية.
NullReferenceExceptionتُثير عندما يحاول البرنامج الوصول إلى عنصر عضو في العنصر الفارغ.
OverflowExceptionتُثير عند حدوث تجاوز في العمليات الرياضية، التحويل القسري أو التحويل.
OutOfMemoryExceptionتُثير عندما لا يكون هناك كافي من الذاكرة للتنفيذ.
StackOverflowExceptionتُثير عند تجاوز الارتفاع في الحجم في الذاكرة.
TimeoutExceptionانتهت فترة التخصيص الممنوحة للعملية.

عندما تحدث استثناءات، سيقوم كود التطبيق أو معالج الافتراضي بمعالجة الاستثناءات. تعرف في الجزء التالي على كيفية معالجة حالات الاستثناء.