gpt4 book ai didi

c# - 如何为 WebClient.DownloadFileAsync 捕获 404 WebException

转载 作者:太空狗 更新时间:2023-10-30 00:25:38 27 4
gpt4 key购买 nike

这段代码:

try
{
_wcl.DownloadFile(url, currentFileName);
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null)
if ((ex.Response as HttpWebResponse).StatusCode == HttpStatusCode.NotFound)
Console.WriteLine("\r{0} not found. ", currentFileName);
}

下载文件并通知是否发生 404 错误。

我决定异步下载文件:

try
{
_wcl.DownloadFileAsync(new Uri(url), currentFileName);
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null)
if ((ex.Response as HttpWebResponse).StatusCode == HttpStatusCode.NotFound)
Console.WriteLine("\r{0} not found. ", currentFileName);
}

现在,如果服务器返回 404 错误并且 WebClient 生成一个空文件,则不会触发此 catch block 。

最佳答案

您需要处理 DownloadFileCompleted事件并检查 AsyncCompletedEventArgsError 属性.

链接中有很好的示例。

关于c# - 如何为 WebClient.DownloadFileAsync 捕获 404 WebException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16387904/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com