请教一个编程思路的问题 各位大虾好,本人请教一个编程思路问题主要功能为:使用一个函数抓取某网页的数据,但经常由于服务器错误,需要重试,我不知道重试是怎么实现的,是不是在try catch里面捕获失败信息,然后在catch里面再调用这个函数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try 里面是放可能出现错误的代码catch 里如果是try里面错误则执行的代码你try、catch都执行那段代码,那try、catch就没有意义了重试就是再执行一遍那个获取网页数据的方法 bool IsSuccess = false;while(!IsSuccess){ try { // ToDo: 相关捕获工作 IsSuccess = true; } catch (SomeException e) { // ToDo: 捕获工作未成功时的清理工作 } } 3楼的方法有个问题 如果那个网页根本就没法打开会造成死循环 下面这个可以避免bool IsSuccess = false;int RetryTime=0;//如果抓取不成功并且重试不到3次就重试while(!IsSuccess && RetryTime<3){ try { //#####这里写你抓网页的过程##### IsSuccess = true; //如果正常抓取就不用再重试了 RetryTime=0; //清零 不要忽略 } catch (Exception e) { IsSuccess = false; //没抓取到就重试 RetryTime++; // 标记是第几次重试 } } 【100】异步发送邮件回调方法如何传发送状态到外部程序的问题 超灵异显现 高手来帮帮忙啊 Windows 桌面连接的问题,200分,大家都来接分 求一复杂动态报表?高手都进来呀! 警告 1 程序集“bin\Debug\Dbconfig.dll”被错误地指定为一个文件。 1.0 急!!mailto: 中不能使用#号吗?怎么解决? 打开文件 c#的疑问 100分:谁详细讲一下静态方法在何处使用?静态方法在何处使用?有什么好处? c# 求两个窗体间传值或传递消息的代码 区别
catch 里如果是try里面错误则执行的代码
你try、catch都执行那段代码,那try、catch就没有意义了
重试就是再执行一遍那个获取网页数据的方法
while(!IsSuccess)
{
try
{
// ToDo: 相关捕获工作
IsSuccess = true;
}
catch (SomeException e)
{
// ToDo: 捕获工作未成功时的清理工作
}
}
int RetryTime=0;//如果抓取不成功并且重试不到3次就重试while(!IsSuccess && RetryTime<3)
{
try
{
//#####这里写你抓网页的过程#####
IsSuccess = true; //如果正常抓取就不用再重试了
RetryTime=0; //清零 不要忽略
}
catch (Exception e)
{
IsSuccess = false; //没抓取到就重试
RetryTime++; // 标记是第几次重试
}
}