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