Windows中的异常处理 8. Store App

Exception handling in Windows 8. Store App

当我从我的数据源中得到一些奇怪的 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)
            {

            }


        }

    }

如何写出这个异常 ex ?不能在 catch 子句中使用 messagedialog,因为它不支持 "await"。谁能帮忙解决这个问题或展示此类代码的一些示例...我似乎无法 google 将其引用到我的项目中。

如果你想让它优雅地处理异常,只需在catch语句中将其写入日志文件,然后继续前进,而无需重新抛出。然后您可以自行决定分析日志文件。

这有帮助吗?

String errorMessage = null;
try
{
  await DoSomething();
}
catch (Exception ex)
{
  errorMessage = ex.Message;
}
if (errorMessage != null)
{
  await new MessageDialog(errorMessage).ShowAsync();
}