【发布时间】:2013-09-17 21:19:21
【问题描述】:
这段代码有问题:
try { await DoSomethingAsync(); }
catch (System.UnauthorizedAccessException)
{
ResourceLoader resourceLoader = new ResourceLoader();
var accessDenied = new MessageDialog(resourceLoader.GetString("access_denied_text"), resourceLoader.GetString("access_denied_title"));
accessDenied.ShowAsync();
}
不可能写 await accessDenied.ShowAsync();因为 Visual Studio 将其视为错误:在 Catch 正文中禁止等待。但是没有等待的代码也不起作用。它无法捕获异常和应用程序崩溃。
无论如何,我需要同步显示这个对话框,因为此时我需要停止运行一会儿。那么,该怎么做呢?
【问题讨论】: