在trycatch块中捕获403 WebException?

时间:2018-04-24 04:09:46

标签: c# .net

虽然我几乎已经完成了,但这段代码并不适用于我想要做的事情。有没有办法在这个catch块中专门捕获错误代码403?

catch (WebException e)
{
    if (e.Status == WebExceptionStatus.ProtocolError)
    {
        Logger.Error(e.ToString());
        Console.ReadKey(true);
        return;
    }

    throw;
}

1 个答案:

答案 0 :(得分:2)

您可以更改代码以检查状态:

device_list = NetworkManager.NetworkManager.GetDevices()
for device in device_list:
  if (device.DeviceType == 2 ):# wifi
      device.RequestScan({})

但是,既然你只是重新抛出它,如果它不是禁止的,假设你正在使用C# 6或更新,你可以像catch (WebException e) { if (e.Status == WebExceptionStatus.ProtocolError && (HttpWebResponse)e.Response).StatusCode == HttpStatusCode.Forbidden) { Logger.Error(e.ToString()); Console.ReadKey(true); return; } throw; } 这样条件:

catch