我在这段代码中有一个问题:
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 正文中禁止等待。但是没有等待的代码也不起作用。它无法捕获异常和应用程序崩溃。
无论如何,我需要同步显示这个对话框,因为此时我需要停止运行一会儿。那么,如何做到这一点呢?