我正在开发一个使用WebClient类从远程服务器获取数据的应用程序。问题是我无法区分错误是: (1)连接超时 (2)URL不存在 (3)没有网络连接
以下是代码段:
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri(url, UriKind.Absolute));
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null && !e.Cancelled)
{
}
else
{
MessageBox.Show(e.Error.ToString()); // Return System.Net.WebException
MessageBox.Show(e.Error.Data.Count + ""); // return 0
/*foreach (DictionaryEntry de in e.Error.Data)
MessageBox.Show(de.Key + ", " + de.Value);*/
}
}
我需要知道DownloadStringCompletedEventArgs的错误类型,因为我要向用户显示自定义的错误消息。请帮忙,谢谢!
答案 0 :(得分:1)
您可以使用e.Error.Message
,它会提供特定的错误消息
根据您的评论:
我没有找到任何提供所有错误消息列表的资源。检查以下内容: AsyncCompletedEventArgs.Error和 Exception.Message