كيفية التقاط أنواع متعددة من الاستثناءات في كتلة catch واحدة في C#؟
السلام عليكم! أنا مطور C# مبتدئ، وقد واجهت مشكلة في معالجة الاستثناءات. لديّ دالة تقوم بتنفيذ عمليات على الملفات وقاعدة البيانات. أريد معالجة أنواع مختلفة من الاستثناءات (مثل `FileNotFoundException`, `IOException`, `SqlException` و `ArgumentException`) بنفس الطريقة — تسجيل الخطأ وعرض رسالة للمستخدم. حاليًا الكود الخاص بي يبدو هكذا:
```csharp
try
{
// какой-то код, который может выбросить разные исключения
}
catch (FileNotFoundException ex)
{
LogError(ex);
ShowMessage("Файл не найден");
}
catch (IOException ex)
{
LogError(ex);
ShowMessage("Ошибка ввода-вывода");
}
catch (SqlException ex)
{
LogError(ex);
ShowMessage("Ошибка базы данных");
}
catch (ArgumentException ex)
{
LogError(ex);
ShowMessage("Неверный аргумент");
}
```
هذا ضخم جدًا ويكرر نفس الكود. سمعت أنه في لغات أخرى (مثل Java أو Python) يمكن اعتراض عدة استثناءات في