以下代碼成功從Web服務獲取數據並將其顯示在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