相关疑难解决方法(0)

如何改进此异常重试方案?

我有一个我正在调用的Web服务方法,它是第三方和我的域之外.由于某种原因,Web服务偶尔会出现网关超时.它的间歇性和在尝试失败后直接调用它可以成功.

现在我有一个编码困境,我有代码应该做的伎俩,但代码看起来像业余时间,你会在下面看到.

这是非常糟糕的代码,还是可以接受的?如果不能接受,我该如何改进呢?

在看的同时请努力保持笔直.

try
{
    MDO = OperationsWebService.MessageDownload(MI);
}
catch
{
    try
    {
        MDO = OperationsWebService.MessageDownload(MI);
    }
    catch
    {
        try
        {
            MDO = OperationsWebService.MessageDownload(MI);
        }
        catch
        {
            try
            {
                MDO = OperationsWebService.MessageDownload(MI);
            }
            catch 
            {
                try
                {
                    MDO = OperationsWebService.MessageDownload(MI);
                }
                catch (Exception ex)
                {
                    // 5 retries, ok now log and deal with the error.
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling

22
推荐指数
3
解决办法
9404
查看次数

标签 统计

.net ×1

c# ×1

exception-handling ×1