私は、Webサイトからステータスコードを返す簡単なプログラムを作成しようとしています。現在、HttpWebRequestクラスとHttpWebResponseクラスを使用しています。しかし、彼らが動作する方法はちょうど私にとっては恐ろしいようですが、200/OKと他のすべてのコードがWebExceptionを返す場合にのみステータスコードが返されます。WebResponse/HttpWebResponseの代替方法
私は例外からの応答を読み取ってステータスコードを得ることができますが、例外を発生させない他の選択肢があるかどうかは疑問でした。私が理解しているように、例外は高価であり、重大な問題がある場合にはまれなケースのために予約する必要があります。私のアプリケーションでは重要ではありませんが、絶対に必要でない限り、例外を避けたいと思います。
その他のオプションはありますか?
は編集:
は、ここでの例外は高価ですが、彼らはWeb要求よりもコスト10の多くの力があるいくつかのコード
HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create("http://www.randomsite.com");
request.Method = "HEAD";
try
{
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Console.WriteLine("Status: " + response.StatusCode);
response.Close();
}
catch (WebException ex)
{
HttpWebResponse httpResponse = (HttpWebResponse) ex.Response;
if (httpResponse != null)
{
Console.WriteLine("Status: " + httpResponse.StatusCode);
}
}
コードはどこですか?例外は何ですか? –
「例外があると分かりますが、費用がかかり、重大な問題が発生した場合はまれにしか予約しないでください。」この「理解」は正確にどこにありましたか? –
@BrianDriscoll例外やコストについて議論する場所はどこにでもあります。 – Zen