c 中Exception 的重試機制

2022-05-18 05:08:55 字數 890 閱讀 9411

有時候我們在專案中碰到,比如這樣那樣的原因(網路或者是其他的原因)導致方法呼叫失敗,大部分的方法是在觸發一次方法呼叫,其實我們可以通過自定義exception,然後提供呼叫的方法名稱和引數等等,提供一種自動的重試多次的機制。

其實方法是很簡單的,我們先自定義乙個exception

**如下

public class retryexception : exception

public retryexception(string message, int retrytimes, type classtype, string method, params object values)

: base(message)

public retryexception(string message, exception innerexception, int retrytimes, type classtype, string method, params object values)

: base(message, innerexception)

private void retrymethod()

catch (exception ex)

else

}retrytimes--;

} while (retrytimes > 0);

}}

使用方法 我們先定義乙個簡單的方法如下

public class service

}

呼叫的方法是

service sv = new service();

object obj = new object();

trycatch (exception ex)

);}

C 重試機制類

public static class retry retryinterval,retrycount 重試乙個引數無返回值的方法 引數型別1 執行方法方法 引數1 重試間隔 重試次數 public static void execute actionaction,t1 arg1,timespan r...

ribbon的重試機制

客戶端配置 1 新增依賴 org.springframework.retry spring retry 2 新增配置 spring cloud loadbalancer retry enabled true 開啟spring cloud的重試功能 user service ribbon connec...

nginx的重試機制

現在對外服務的 很少只使用乙個服務節點,而是部署多台伺服器,上層通過一定機制保證容錯和負載均衡。nginx就是常用的一種http和反向 伺服器,支援容錯和負載均衡。nginx的重試機制就是容錯的一種。在nginx的配置檔案中,proxy next upstream項定義了什麼情況下進行重試,官網文件...