【问题标题】:Obtaining the status code of an http request when an exception is thrown (in c#)抛出异常时获取http请求的状态码(c#)
【发布时间】:2017-06-13 21:01:55
【问题描述】:

我正在使用HttpWebRequest 类的实例来发送请求并接收来自网站的响应。 如果抛出的异常是WebException,我可以通过将WebException 类型转换为((HttpWebResponse)exc.Response).StatusCode; 来检索http 状态代码。 对于其他类型的异常,例如UriFormatException,我该如何做同样的事情?

【问题讨论】:

  • 如果有UriFormatException,我根本不希望提出请求,那么会有什么状态码?
  • 在 HTTP 请求期间产生的所有可能的错误是否都在 WebException 类中进行了说明?
  • 不一定——例如可能是网络故障...但同样,在这种情况下不会有报告的响应。我怀疑当有响应时,它会是一个 WebException。
  • 谢谢乔恩和 CodeCaster

标签: c# http exception httpwebrequest httpwebresponse


【解决方案1】:

UriFormatException 意味着您尝试访问的 URL 不是有效的 URL,因此不会有任何状态代码,因为没有请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2012-03-09
    • 2017-06-25
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多