private static void Attempt(Action action, int retries = 3, int delayBeforeRetry = 150) { while (retries > 0) { try { action(); break; } catch { retries--; if (retries == 0) { throw; } } Thread.Sleep(delayBeforeRetry); } } }