У меня есть следующий код, чтобы загрузить двоичный файл из Интернета:WebClient.DownloadDataAsync SocketException сбой мое приложение
WebClient client = new WebClient();
client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(DownloadDataCompleted);
client.DownloadDataAsync(uri);
Все хорошо работает до тех пор, пока соединение не будет разорван. Если отключить мои беспроводной, приложение вылетает из:
System::Windows::Forms::Application::ThreadException event occured
SENDER: System.Threading.Thread
EXCEPTION: System.Net.Sockets.SocketException
MESSAGE: A socket operation was attempted to an unreachable network 74.200.243.250:80
SOURCE: System
CALL STACK
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
Как поймать это исключение, или, так как это на его собственный потоке, как я остановить его от падения моего приложения?
Ха, это было намного проще, чем я думал. –
Но здесь странно, что это исключение фактически вызывает выброс и сбой приложения. Если предполагается, что исключения только накапливаются в свойстве .Error, когда вы действительно получите бросок и сбой приложения? –