【发布时间】:2013-11-26 01:33:36
【问题描述】:
以下代码成功从 Web 服务获取数据并将其显示在 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();
}
但是,这确实需要互联网连接才能工作。每次没有互联网连接时,应用程序都会崩溃。
如何在此代码中编写try catch 语句以在网络连接不工作时显示弹出消息?
编辑:
我正在尝试使用下面的MessageDialog,这会阻止应用程序崩溃,但不会显示消息。
catch (Exception ex)
{
MessageDialog err = new MessageDialog(ex.Message);
}
【问题讨论】:
-
你试过了吗?乍一看,将整个代码包装在 try/catch 中应该可以正常工作...
-
请看上面的编辑,我试过了,但它没有显示消息,但是它会停止崩溃。