Привет, у меня есть следующий метод для статического класса, который я хотел бы повторить 'x' количество раз, если есть определенный тип исключения.
Прямо сейчас, вот как это выглядит.
public static void myMethod(DbContext context, ISettings settings)
{
try
{
RefreshDb(context, settings);
}
catch (Exception e)
{
throw new Exception("Error on method RefreshDb", e);
}
finally
{
// Do something here
}
}
Я хочу перехватить один конкретный тип исключения (в данном случае SqlException) и повторить вызов RefreshDb несколько раз в течение 60 секунд.Как только я получу исключение, как я могу повторить несколько раз, а также ...
- В случае успеха оставьте блок catch без броска и продолжите выполнение моего кода (наконец, часть в этом случае)
- В случае неудачи выведите реальное исключение.
.
public static void myMethod(DbContext context, ISettings settings)
{
try
{
RefreshDb(context, settings);
}
catch (SqlException e)
{
// Call RefreshDb here again.
}
catch (Exception e)
{
throw new Exception("Error on method RefreshDb", e);
}
finally
{
// Do something here
}
}