Как захватить любую ошибку с Webclient? - PullRequest
1 голос
/ 17 марта 2011

Я пытаюсь зафиксировать проблему с подключением при использовании WebClient. Пример, недоступность, время ожидания и т. Д. Код ниже не работает, как будто в этом нет ничего плохого.

WebClient wc = new WebClient();
try
{
    wc.UploadFileAsync(new Uri(@"ftp://tabletijam/FileServer/upload.bin"), Directory.GetCurrentDirectory() + @"\crypto.bin");
}
catch (System.Exception ex)
{
    MessageBox.Show(ex.ToString());
}

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011
try
{
    // trying to make any operation on a file
}
catch (IOException error)
{
    if(error is FileNotFoundException)
    {
        // Handle this error
    }
}

используйте этот код, но с вашим сценарием

0 голосов
/ 17 марта 2011

Код, который вы используете, просто отправляет файл ... вам нужно реализовать Async часть.

WebClient webClient = new WebClient();
webClient.UploadFileAsync(address, fileName);
webClient.UploadProgressChanged += WebClientUploadProgressChanged;
webClient.UploadFileCompleted += WebClientUploadCompleted;

...

void WebClientUploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
     Console.WriteLine("Download {0}% complete. ", e.ProgressPercentage);
}
void WebClientUploadCompleted(object sender, UploadFileCompletedEventArgs e)
{
    // The upload is finished, clean up
}
...