当异常消息为底层连接已关闭:在接收时发生意外错误时,visualc# webclient没有状态代码
本文关键字:错误 意外 visualc# 状态 代码 webclient 消息 异常 连接 | 更新日期: 2023-09-27 18:16:44
我有一个使用c#的windows窗体应用程序,它使用Webclient下载一个网站的源代码,我在例外情况下显示状态代码。当webbeexception消息为
时底层连接已关闭:在接收
上发生意外错误
状态码不显示,而是程序中断并出现错误:
对象引用未设置为对象的实例
我的代码是:
string source = "";
try
{
source = await client.DownloadStringTaskAsync("URL");
}
catch(WebException er)
{
textbox1.AppendText("'r'nError: " + er.Message + "Status Code: " + ((HttpWebResponse)er.Response).StatusCode);
}
From MSDN on WebException.Response
的值:
如果响应可从Internet资源获得,则WebResponse包含来自Internet资源的错误响应的实例;否则,null。
- 从http://msdn.microsoft.com/en-us/library/system.net.webexception.response
- (v = vs.110) . aspx
如果没有可用的响应,WebException.Response
可能为null。您应该将其从catch
块中取出,而只是打印异常消息。或者,如果您想打印存在的WebException.Response
,则执行空检查。