当我从我的数据源中获取一些奇怪的json值并且我想分析它或处理它以便应用程序不会崩溃时,我收到异常。这是代码:
private async Task GetDataAsync()
{
//if (this._table.Count != 0) return;
this.Table.Clear();
var jsonObject = await DownloadSpreadsheet.GetJson();
for (int row = 0; row < jsonObject["rows"].Count(); row++)
{
try
{
Table table = new Table();
table.Day = jsonObject["rows"][row]["c"][0]["v"].ToString();
table.Month = jsonObject["rows"][row]["c"][1]["v"].ToString();
table.Year = jsonObject["rows"][row]["c"][2]["v"].ToString();
table.People = jsonObject["rows"][row]["c"][4]["v"].ToString();
this.Table.Add(table);
}
catch (Exception ex)
{
}
}
}
我怎么能写出这个Exception ex?不能在catch子句中使用messagedialog,因为它不支持“await”。任何人都可以帮忙解决这个问题或者展示一些这样的代码的例子......我似乎无法谷歌将它引用到我的项目中。
答案 0 :(得分:1)
如果您希望它优雅地处理异常,只需将其写入catch语句中的日志文件,然后继续操作而不重新抛出。然后您可以自行决定分析日志文件。
答案 1 :(得分:0)
这有帮助吗?
String errorMessage = null;
try
{
await DoSomething();
}
catch (Exception ex)
{
errorMessage = ex.Message;
}
if (errorMessage != null)
{
await new MessageDialog(errorMessage).ShowAsync();
}