0

我正在使用 Watin 自动从网站下载文件。如果网络服务器在特定时间没有响应,有时会发生超时错误。我想知道超时发生的索引以及该索引重复for循环。

例如:

for (int index = 0; index < ros.Count; index++)
{
    //download document
    FileDownloadHandler down = new FileDownloadHandler(dir+nume+"_"+ro+".pdf");
    using (new UseDialogOnce(browser.DialogWatcher, down))
    {
        down.WaitUntilFileDownloadDialogIsHandled(100);
        down.WaitUntilDownloadCompleted(100);
    }
}

当超时发生时,我想知道 for 循环中的索引,我想重试下载处理程序。可能吗 ?

4

1 回答 1

0

超时很可能引发异常。您应该弄清楚究竟是哪个异常被抛出,然后您可以在循环中捕获它:

for (int index = 0; index < ros.Count; index++) 
{ 
    //download document
    try 
    { 
        FileDownloadHandler down = new FileDownloadHandler(dir+nume+"_"+ro+".pdf"); 
        using (new UseDialogOnce(browser.DialogWatcher, down)) 
        { 
            down.WaitUntilFileDownloadDialogIsHandled(100); 
            down.WaitUntilDownloadCompleted(100); 
        }
    } 
    catch(Exception e) 
    {
        // TODO: Handle timeout. The value of index will tell you when the timeout occured
    } 
} 
于 2012-06-22T06:26:36.890 回答