WebClientで例外が飛ばない(C#)

C#

WebClientで例外を飛ばすには最低限Headerを付与しないとダメ見たいです。

try
{
    var targetUrl = $@"http://160.251.74.83/";
    var json = $@"{ test: 1}";

    using (var client = new WebClient())
    {
        client.Headers["Content-Type"] = "application/json;charset=UTF-8";
        client.UploadString(targetUrl, json);
    }
}
catch (WebException e)
{
    var statusCode = ((HttpWebResponse)e.Response).StatusCode;
    Console.WriteLine(statusCode);
}
catch (Exception e)
{
}

client.Headers[“Content-Type”] = “application/json;charset=UTF-8”;
この辺の記述がない場合、例外が飛ばないのでCatch句に入りません。

ちなみにStatusCodeを拾う場合もWebExceptionを一旦HttpWebResponseにキャストする必要があります。

コメント