Cleanest way to write retry logic?

前端 未结 29 2522
旧巷少年郎
旧巷少年郎 2020-11-22 03:01

Occasionally I have a need to retry an operation several times before giving up. My code is like:

int retries = 3;
while(true) {
  try {
    DoSomething();
         


        
29条回答
  •  一向
    一向 (楼主)
    2020-11-22 03:35

    public delegate void ThingToTryDeletage();
    
    public static void TryNTimes(ThingToTryDelegate, int N, int sleepTime)
    {
       while(true)
       {
          try
          {
            ThingToTryDelegate();
          } catch {
    
                if( --N == 0) throw;
              else Thread.Sleep(time);          
          }
    }
    

提交回复
热议问题