关于 WebClient.DownloadData 程序自动退出的问题?**************100分求解************** try{ byte[] buf = new WebClient().DownloadData(url);}catch{}有时候程序在这里会自动退出,并且捕获不到任何异常!求解决思路与方法! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 C# codetry{ byte[] buf = new WebClient().DownloadData(url);}catch{}有时候程序在这里会自动退出,并且捕获不到任何异常!求解决思路与方法! try{}catch{}这个格式结构就行呀 DownloadData这个倒没碰到过,不过它的底层Socket有极低的概率出这种无解的问题 就算我catch什么都不做,一般调试,如果try里代码出问题了,也会在catch处中断。,不要再说在catch里加什么 throw 之类的了。估计确实是9楼说的那种情况……发贴就是看看有没有其它达人有之方面处理的经验!(使用response.GetResponseStream() 还是偶尔会中断的,超时都设置成30000了) 在catch中加throw是让错误能够显示出来,这样你能看到具体的错误类型,才好知道怎么解决 没见过你说的那种情况。webclient 一般需要设置一些属性可以这样试试WebClient client = new WebClient();client.Headers.Add("Accept:*/*");client.Headers.Add...设置的属性,跟你请求的地址有关。你可以用vsniffer之类的工具拦截看看byte[] data = client.DownloadData(sUrl);即使异常,返回超时等也不会没有任何异常就退出。 try{ byte[] buf = new WebClient().DownloadData(url);}catch(webexception e){ messageBox.Show(e.Message,"WebException");}catch (exception e){ MessageBox.Show(e.Message,"Exception");}首先看看 执行到try了么 还是在try前出错第二: DownloadData方法中是否有异常捕获和抛出机制,如果在这个方法中以及这个方法引用的方法中出现异常没有捕获,也会自动退出建议: 一步步往回查,看看这个方法引用关系中的方法是不是都有异常捕获和抛出机制对于底层的异常,不建议就地处理,建议抛出到显示层再进行处理另外 最好少用 try{} catch{} 之类,这种最多时掩盖异常,而不是捕获和处理异常 用 try{}catch(AException e){}catch(BException e){}catch(CException e){}catch(Exception e){}进行处理 如果可以的话楼主可以把url实际贴出来,这里会有人愿意建个工程来request一下那个地址看会发生什么的. 谁有现成的进度条ProgressBar的例子,或者是哪里有下载的........... 如何取出List<obj>的某字段作为Array输出 SelectedIndexChanged 关于线程控制问题,求助 属性和私有字段 如何用C#实现自动更新网站? java客户端调用net服务器端webservice问题 如何去除状态栏下的URL地址? 请问这段代码,可否不用保存为Bitmap对象,而是直接对内存部分操作? c#中窗体启动的问题? C#程序怎么在别的电脑上用? 导入命名空间问题
try
{
byte[] buf = new WebClient().DownloadData(url);
}
catch
{
}
有时候程序在这里会自动退出,并且捕获不到任何异常!求解决思路与方法!
{}
catch
{}
这个格式结构就行呀
就算我catch什么都不做,一般调试,如果try里代码出问题了,也会在catch处中断。,不要再说在catch里加什么 throw 之类的了。估计确实是9楼说的那种情况……发贴就是看看有没有其它达人有之方面处理的经验!(使用response.GetResponseStream() 还是偶尔会中断的,超时都设置成30000了)
webclient 一般需要设置一些属性
可以这样试试
WebClient client = new WebClient();
client.Headers.Add("Accept:*/*");
client.Headers.Add
...
设置的属性,跟你请求的地址有关。你可以用vsniffer之类的工具拦截看看
byte[] data = client.DownloadData(sUrl);即使异常,返回超时等也不会没有任何异常就退出。
{
byte[] buf = new WebClient().DownloadData(url);
}
catch(webexception e)
{
messageBox.Show(e.Message,"WebException");
}
catch (exception e)
{
MessageBox.Show(e.Message,"Exception");
}
首先看看 执行到try了么 还是在try前出错第二: DownloadData方法中是否有异常捕获和抛出机制,如果在这个方法中以及这个方法引用的方法中出现异常没有捕获,也会自动退出
建议: 一步步往回查,看看这个方法引用关系中的方法是不是都有异常捕获和抛出机制对于底层的异常,不建议就地处理,建议抛出到显示层再进行处理另外 最好少用
try{} catch{} 之类,这种最多时掩盖异常,而不是捕获和处理异常
用 try{}catch(AException e){}catch(BException e){}catch(CException e){}catch(Exception e){}进行处理