410代码没有被捕获,而是抛出错误
本文关键字:出错 错误 代码 | 更新日期: 2023-09-27 18:18:28
我得到了这个代码,它试图捕获410代码,但它在第一行抛出错误,而不是通过其余的代码,
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.NotFound || response.StatusCode == HttpStatusCode.Gone)
{
除了上面的代码,还有什么方法可以捕获410代码吗?
用下面的答案帮助回答代码
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
if (((HttpWebResponse)(ex.Response)).StatusCode == HttpStatusCode.NotFound || ((HttpWebResponse)(ex.Response)).StatusCode == HttpStatusCode.Gone)
{
GetResponse
方法是这样工作的。当它没有得到代码200
时抛出异常。
试着把你的request.GetResponse()
放到try .. catch
块。捕获WebException
。在catch
子句中,您可以处理状态码不是200
的情况。
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}
catch(Exception ex)
{
var exStatusCode = ex.Code //check the status code against this
var exResponse = ex.Response //use your response like this
}