서비스에 연결하고 일부 JSON 데이터를 사용하는 앱을 개발 중입니다. 소비 (JSON.net 바위) 위대한 작품을하지만 난 예외 오류 및 간단한 MessageBox 표시를 잡아야하는지 궁금해? 몇 곳에서 시도했지만 여전히 내 앱이 닫힙니다. 아니면 오류 태그가 포함 된 json 응답을 기반으로해야합니까? 나는WebClient 메서드에서 예외를 catch 할 위치?
코드는 아래와 같습니다 .. 일반적인 오류 처리를 쉽게 할 수 있다고 생각하지만, 지금 내 마음에 빈 자리가 있습니다
private void LoginLoginButton_Click(object sender, System.EventArgs e)
{
((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = false;
ProgressOverlay.Show();
GenerateLoginString();
var w = new SharpGIS.GZipWebClient();
Observable.FromEvent<DownloadStringCompletedEventArgs>(w, "DownloadStringCompleted")
.Subscribe(r =>
{
var settings = IsolatedStorageSettings.ApplicationSettings;
var deserializedRootObject = JsonConvert.DeserializeObject<RootObject>(r.EventArgs.Result);
UserSettings us = new UserSettings()
{
first_name = deserializedRootObject.user.first_name,
last_name = deserializedRootObject.user.last_name,
user_id = deserializedRootObject.user_id,
};
settings.Add("UserSettings", us);
settings.Save();
});
w.DownloadStringAsync(new Uri(UserUri));
w.DownloadStringCompleted += new DownloadStringCompletedEventHandler(w_DownloadStringCompleted);
}
void w_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
나는 이것을 시도했다. 그러나 오류가 다시 나타납니다. 그리고 UserSettings 객체를 채울 수없는 순간에 나타납니다. 시나리오는 다음과 같습니다. 로그인 데이터가 괜찮 으면 UserSettings라는 객체 호출을 얻습니다. 오류가없는 한 json 항목을 가져옵니다. "error" – dargod
그래서 내가 어떤 결과를 얻었는지 알 때 예외를 잡으려고합니다. 도망 – dargod