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);

        }

questionAnswers(1)

yourAnswerToTheQuestion