哪些特定的状态代码会导致HttpWebRequest.GetResponse()抛出WebException?

H. *_*row 10 c# httpwebrequest system.net.webexception

我已经在寻找一些关于此的明确文件,但没有找到任何运气.

在执行类似POST HttpWebRequest.GetResponse()的操作WebException后,哪些HTTP响应状态代码会生成?

具体来说,它会产生WebException除状态以外的任何东西200 OK吗?或者只会产生WebException400,404和500(为了争论)?

我想知道,因为我正在与之通信的服务器定义了除了HTTP 200 OK作为错误条件返回之外的任何内容.我可以依靠WebException为200以外的任何东西生成?

我目前编写代码来检查每次返回状态代码并确保它200 OK.如果不是,它将采取适当的行动 - 但是在WebException我希望清理的代码和catch块之间有很多重复.

任何与文档相关的链接都将非常受欢迎.

MrF*_*Fox 0

WebException 系统是独立于HTTP 错误系统的系统。这主要是因为 HTTP 错误是由浏览器或客户端返回的,而 WebException 是在构建页面时由服务器抛出的。当发现 HTTP 错误时,页面将发送到客户端,而您不会知道这一点。