WebException発生時のステータスコードの取り方

C#でHttpWebRequest,HttpWebResponseあたり使ってHTTP通信したときWebサーバが 500 Internal Server Error など返してくるとWebExceptionが発生しますが、このときのステータスコード(500)を取りたいときは以下のようにします。

try {

} catch (WebException e) {
statusCode = (int)((HttpWebResponse)e.Response).StatusCode;
}

ちなみにWebサーバー落ちてるときも同様にWebException発生しますがe.Response==nullなのでnullチェックは入れておいた方がいいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA