Windows 8中的异常处理。应用程序

时间:2015-02-15 22:14:20

标签: c# windows-store-apps

当我从我的数据源中获取一些奇怪的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”。任何人都可以帮忙解决这个问题或者展示一些这样的代码的例子......我似乎无法谷歌将它引用到我的项目中。

2 个答案:

答案 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();
}