Try-Catch nie wyświetla okna dialogowego wiadomości z oczekiwaniem
Poniższy kod pomyślnie pobiera dane z usługi internetowej i wyświetla je w aplikacji na komputer z systemem Windows 8.
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();
}
Wymaga to jednak połączenia z Internetem. Aplikacja ulega awarii za każdym razem, gdy nie ma połączenia z Internetem.
Jak napisaćtry catch
oświadczenie w tym kodzie, aby wyświetlić komunikat wyskakujący, jeśli połączenie sieciowe nie działa?
EDYTOWAĆ:
Próbuję użyćMessageDialog
poniżej, a to powstrzymuje awarię aplikacji, ale nie wywołuje wiadomości.
catch (Exception ex)
{
MessageDialog err = new MessageDialog(ex.Message);
}