有沒有辦法拋出異常的(404)之前處理HttpWebResponse.GetResponse()
文件沒有發現?處理拋出異常的(404)前的HttpWebResponse文件未找到
我有一個龐大的圖像量下載,並使用在try..catch處理未發現會讓表現非常糟糕文件的例外。
private bool Download(string url, string destination)
{
try
{
if (RemoteFileExists("http://www.example.com/FileNotFound.png")
{
WebClient downloader = new WebClient();
downloader.DownloadFile(url, destination);
return true;
}
}
catch(WebException webEx)
{
}
return false;
}
private bool RemoteFileExists(string url)
{
try
{
//Creating the HttpWebRequest
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
//Setting the Request method HEAD, you can also use GET too.
request.Method = "HEAD";
//Getting the Web Response.
//Here is my question, When the image's not there,
//the following line will throw an exception, How to avoid that?
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
//Returns TURE if the Status code == 200
return (response.StatusCode == HttpStatusCode.OK);
}
catch
{
//Any exception will returns false.
return false;
}
}