다음 코드는 웹 서비스에서 데이터를 성공적으로 가져 와서 Windows 8 데스크톱 응용 프로그램에 표시합니다.Try-Catch가 메시지를 표시하지 않음을 나타냅니다.
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://localhost:12345/api/items");
var info = new List<SampleDataGroup>();
if (response.IsSuccessStatusCode)
{
var content = await response.Content.ReadAsStringAsync();
var item = JsonConvert.DeserializeObject<dynamic>(content);
foreach (var data in item)
{
var infoSect = new SampleDataGroup
(
(string)data.Id.ToString(),
(string)data.Name,
(string)"",
(string)data.PhotoUrl,
(string)data.Description
);
info.Add(infoSect);
}
}
else
{
MessageDialog dlg = new MessageDialog("Error");
await dlg.ShowAsync();
}
그러나 인터넷 연결이 필요합니다. 앱이 인터넷에 연결되어 있지 않을 때마다 충돌합니다.
네트워크 연결이 작동하지 않는 경우 팝업 메시지를 표시하려면이 코드에 try catch
문을 어떻게 써야합니까?
편집 :
나는 아래 MessageDialog
를 사용하는 것을 시도하고, 이것이 충돌에서 응용 프로그램을 중지하지만 메시지를 가져 오지 않습니다.
catch (Exception ex)
{
MessageDialog err = new MessageDialog(ex.Message);
}
시도해 보셨습니까? 언뜻보기에 try/catch에서 전체 코드를 바꿔야합니다. – nvoigt
위의 편집을 참조하십시오.하지만 시도했지만 메시지가 표시되지 않지만 충돌은 멈 춥니 다. – Tester