我正在尝试正确处理两个不同的WebException
异常。
基本上它们是在调用WebClient.DownloadFile(string address, string fileName)
之后被处理的。
据我所知,到目前为止,有两个我必须处理的WebException
异常:
- 无法解析远程名称(即没有网络连接以访问服务器下载文件)
- (404)未找到文件(即服务器上不存在该文件)
可能还有其他情况,但这是我迄今发现最重要的。
那么我应该如何正确地处理它们呢?因为它们都是WebException
异常,但我希望分别处理上述每种情况。
以下是我目前的处理方式:
try
{
using (var client = new WebClient())
{
client.DownloadFile("...");
}
}
catch(InvalidOperationException ioEx)
{
if (ioEx is WebException)
{
if (ioEx.Message.Contains("404")
{
//handle 404
}
if (ioEx.Message.Contains("remote name could not")
{
//handle file doesn't exist
}
}
}
您可以看到,我正在检查消息以查看WebException
的类型。我认为有更好或更精确的方法来做到这一点吗?
(if wEx.Status == WebExceptionStatus.Something) { //处理 } (if wEx.Status == WebExceptionStatus.SomethingElse) { //处理那个 }
。 - baron