C#处理ContinueWith任务中的响应异常(WinForms)

时间:2017-10-09 17:28:17

标签: c# winforms exception httpwebresponse

我希望每个人都做得很好。

因此我们的任务是使用多线程方法来运行GetResponse方法。

WebResponse response = await Task.Run(() => request.GetResponse())

这与我的其他程序完美配合。

现在,当我输入一个不存在且发生异常的网址时,就会出现问题。

我一直试图想出一个很好的方法来捕捉这个异常并将其添加到标签中,但我无法这样做。

WebResponse response = await Task.Run(() => request.GetResponse())
            .ContinueWith(
            ex =>
            {
                if (ex.Exception != null)
                    ex.Exception.Handle(x =>
                    {
                        Label1.Text = (x.Response as HttpWebResponse).StatusCode;
                        return true;
                    });
            });

在这段代码中,我无法弄清楚如何捕获抛出的异常。 (例外可能是404错误,或其他)

非常感谢任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

获取下面的例外情况

 List<Exception> Exceptions = ex.Exception.InnerExceptions.ToList();

并循环遍历它们以查找任务异常