как отловить исключение ?
От: jyuyjiyuijyu  
Дата: 16.07.13 15:31
Оценка: :)
Всем привет допустим есть такой код выполняемый при загрузке формы...

var wc = new WebClient();
wc.DownloadStringCompleted += (sender, args) =>
{
  if (args.Cancelled)
    Console.WriteLine ("Canceled");
  else if (args.Error != null)
    Console.WriteLine ("Exception: " + args.Error.Message);
  else
  {
    Console.WriteLine (args.Result.Length + " chars were downloaded");
    // We could update the UI from here...
  }
};
wc.DownloadStringAsync (new Uri ("http://www.linqpad.net"));  // Start it


если указать невалидный IP адрес то WebClient долго висит на SYN_SENT а потом кидает исключение
System.Net.Sockets.SocketException ... в это время вызывается хендлер DownloadStringCompleted где
в поле args.Error есть ссылка на возникшее исключение...

вопрос как мне остановить это исключение в хендлере ? просто после того как мой хендлер вернет управление
появляется окно показывающее стек асинхронного потока и валит всю программу...

я бы хотел "по тихому" предпринять другие дейсвия в случае неудачной попытки загрузки файла...

загружать синхронно не вариант...

спасибо
Re: как отловить исключение ?
От: jyuyjiyuijyu  
Дата: 16.07.13 17:34
Оценка:
сорри глюканул... надо просто вставить такой код в начало хендлера

If e.Error IsNot Nothing Then
    Return
End If
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.