【发布时间】:2018-03-20 23:40:30
【问题描述】:
我希望每个人都做得很好。
因此,我们的任务是使用多线程方法来运行 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;
});
});
在这段代码 sn-p 中,我不知道如何捕获抛出的异常。 (异常可能是 404 错误或其他)
任何帮助将不胜感激。 谢谢!
【问题讨论】:
-
将 await 包装在 try catch 中,然后根据需要处理异常。
-
await和ContinueWith组合背后的想法是什么?为什么不只是等待?或者更好的是,使用带有本机异步/等待支持的 HttpClient。
标签: c# winforms exception httpwebresponse