与其他 WebException 错误相比,我需要知道如何捕获和识别超时错误。请求超时设置为“1”以使环境能够捕获异常。我只需要知道如何识别它。(即默认工作值 = 60000)。这是我的代码:
// some code here
request.Timeout = 1;
// some code here
catch (WebException wex)
{
Console.WriteLine(wex);
try
{
response_code = ((int)((HttpWebResponse)wex.Response).StatusCode);
State_show.ForeColor = System.Drawing.Color.Red;
if (response_code == 404)
{
State_show.Text = "Error 404. Retrying the request";
request_1();
}
if (response_code != 400 || response_code != 503 || response_code != 404)
{
State_show.Text = "Error " + response_code + ". Please try again";
FlashWindow.Flash(this);
}
}
catch (Exception exc)
{
Console.WriteLine(exc);
MessageBox.Show("Check internet connection");
}
}
因此,如果我收到错误的 http 状态代码,它会很好。但如果响应超时,它会引发额外的异常。最简单的方法是获取
string wex_modified = wex.ToString();
If (wex_modified.contains("Timeout"))
{
// some handling here
}
但我真的不喜欢它。我尝试使用 wex.GetType() 和其他可用功能,但没有成功。
有没有其他方法可以识别异常?