【发布时间】:2013-06-08 16:59:34
【问题描述】:
我在 C# 中使用 WebClient 来下载文件。我正在使用 client.DownloadFileAsnyc()。在过去这很好用,任何异常都会被捕获并在完成处理程序中返回 (AsyncCompletedEventArgs.Error)
但是现在我发现如果在下载过程中目标位置的空间不足,IOExcption 就会被抛出并导致应用程序崩溃。有谁知道为什么这不会在完成处理程序中被捕获并返回?
注意:我还尝试将 DownloadFileAsync 行放在 try catch 中。还是不行
代码如下:
_client = new WebClient();
_client.DownloadProgressChanged += ProgressChanged;
_client.DownloadFileCompleted += DownloadComplete;
_client.DownloadFileAsync(new Uri(url), Destination);
private void DownloadComplete(object sender, AsyncCompletedEventArgs args)
{
}
这是在 .NET 3.5 下编译的。
【问题讨论】:
-
哪里抛出异常?
-
调用堆栈只是说“[外部代码]”,我看不到其他细节:\
标签: c# .net exception download webclient