Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# catch子句中未显示消息对话框_C#_Windows 8_Try Catch_Async Await - Fatal编程技术网

C# catch子句中未显示消息对话框

C# catch子句中未显示消息对话框,c#,windows-8,try-catch,async-await,C#,Windows 8,Try Catch,Async Await,我在Windows 8应用程序函数中使用以下代码捕获错误并显示消息对话框 catch (Exception ex) { MessageDialog err = new MessageDialog("Error"); await err.ShowAsync(); } 但我得到一个错误“不能在catch子句主体中等待” 但是,当我删除等待时,它工作,但是我在代码上得到警告,因为这个

我在Windows 8应用程序函数中使用以下代码捕获错误并显示消息对话框

 catch (Exception ex)
            {
                MessageDialog err = new MessageDialog("Error");
                await err.ShowAsync();


            }
但我得到一个错误“不能在catch子句主体中等待”

但是,当我删除<代码>等待<代码>时,它工作,但是我在代码上得到警告,因为这个调用没有等待,当前方法的执行在调用完成之前继续。请考虑将等待操作符应用到调用的结果中。


我需要在此catch子句中显示一条消息,如何解决此问题?

与其在
catch
中执行此工作,不如将异常设置为局部变量。如果它不为null,那么您知道需要在
catch
块结束后处理它

public static async Task Foo()
{
    Exception e = null;
    try
    {
        //just something to throw an exception
        int a = 0;
        int n = 1 / a;
    }
    catch (Exception ex)
    {
        e = ex;
    }
    if (e != null)
        await ShowDialog();
}

只需将异常设置为局部变量,而不是在
catch
中执行工作。如果它不为null,那么您知道需要在
catch
块结束后处理它

public static async Task Foo()
{
    Exception e = null;
    try
    {
        //just something to throw an exception
        int a = 0;
        int n = 1 / a;
    }
    catch (Exception ex)
    {
        e = ex;
    }
    if (e != null)
        await ShowDialog();
}

此链接可能会有所帮助。请不要多次发布同一问题。您不应该这样做的最大原因是,您的两个问题都有可能以重复的形式结束。另外,仅供参考-请阅读“我在哪里不能使用“等待”部分?对不起,我遇到了一些网络问题,没有看到它成功发布,这就是我发布另一个的原因。此链接可能会有所帮助。请不要多次发布同一问题。您不应该这样做的最大原因是,您的两个问题都有可能以重复的形式结束。另外,仅供参考-请阅读“我在哪里不能使用“等待”部分?对不起,我遇到了一些网络问题,没有看到它成功发布,这就是我发布另一个的原因。