Как захватить веб-исключение в Windows Phone 8?

Я использую Wamp Server для серверной части и C # для клиентской части. В целях проверки я выключаю сервер. И запускаем программу. Это вызывает следующую ошибку в окне вывода.

'TaskHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded            

'C:\windows\system32\System.Core.ni.dll'. Skipped loading symbols. Module is optimized and    the debugger option 'Just My Code' is enabled.

 An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and wasn't handled before a managed/native boundary

 An exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll and wasn't handled before a managed/native boundary

Моя цель - зафиксировать это веб-исключение в окне сообщения. Является ли это возможным.

Я уже использую оператор try, catch для захвата этого исключения. Но это не работает.

Мой код

 private void Login_Click(object sender, RoutedEventArgs e)
    {
        if (string.IsNullOrWhiteSpace(this.username.Text) || string.IsNullOrWhiteSpace(this.password.Password))
        {
            MessageBox.Show("Please Enter the Username and Password");
            this.username.Text = "";
            this.password.Password = "";

        }
        else
        {

                string url = ob.localhost + "login_validate.php";
                Uri uri = new Uri(url, UriKind.Absolute);

                StringBuilder postData = new StringBuilder();
                postData.AppendFormat("{0}={1}", "username", HttpUtility.UrlEncode(this.username.Text));// txtUsername.Text));
                postData.AppendFormat("&{0}={1}", "password", HttpUtility.UrlEncode(this.password.Password.ToString()));
                try
                {
                    WebClient client = default(WebClient);
                    client = new WebClient();
                    client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                    client.Headers[HttpRequestHeader.ContentLength] = postData.Length.ToString();


                    client.UploadStringCompleted += client_UploadStringCompleted;
                    //client.UploadProgressChanged += client_UploadProgressChanged;

                    client.UploadStringAsync(uri, "POST", postData.ToString());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Data.ToString());
                    MessageBox.Show(ex.GetBaseException().ToString());
                }

        }
            prog = new ProgressIndicator();
            prog.IsIndeterminate = true;
            prog.IsVisible = true;
            prog.Text = "Loading....";
            SystemTray.SetProgressIndicator(this, prog);


    }    

Помогите, пожалуйста. Заранее спасибо.


person selvam    schedule 22.07.2013    source источник


Ответы (1)


попробуйте использовать:

  catch(Webexception ex)
  {
     Messagebox.Show(ex.innerexception.tostring());
  }
person Bohrend    schedule 22.07.2013