كيفية التقاط عدة أنواع من الاستثناءات في كتلة catch واحدة في C#؟
مرحباً بالجميع! أنا مطور C# مبتدئ، وقد واجهت مشكلة في معالجة الاستثناءات. أكتب تطبيقاً صغيراً للعمل مع الملفات وقاعدة البيانات. لدي كود قد يرمي عدة استثناءات مختلفة: مثلاً `FileNotFoundException` (إذا لم يتم العثور على الملف)، `IOException` (مشاكل في القراءة) و `SqlException` (خطأ في الاتصال بقاعدة البيانات).
حالياً، أتعامل معها هكذا:
```csharp
try
{
// كود قد يرمي عدة استثناءات
}
catch (FileNotFoundException ex)
{
Console.WriteLine("الملف غير موجود: " + ex.Message);
}
catch (IOException ex)
{
Console.WriteLine("خطأ في الإدخال/الإخراج: " + ex.Message);
}
catch (SqlException ex)
{
Console.WriteLine("خطأ في قاعدة البيانات: " + ex.Message);
}
```
لكن هذا يبدو مرهقاً جداً، خاصة إذا كنت بحاجة لتنفيذ نفس الإجراء لجميع الاستثناءات (مثل التسجيل في السجل وعرض رسالة خطأ للمستخدم). سمعت أنه في بعض اللغات يمكن تعداد الاستثناء