You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework 4.7.2中如何捕获429(请求过多)错误?

捕获429请求过多错误的解决方案

在.NET Framework 4.7.2中,HttpStatusCode枚举确实未包含429(请求过多)的对应属性,你可以通过以下两种方法专门捕获该错误:

方法1:直接比较状态码数值

直接使用429这个数值与响应的状态码做比较,这是最直接可靠的方式:

catch (WebException ex)
{
    if (ex.Response is HttpWebResponse response)
    {
        // 直接对比429数值
        if ((int)response.StatusCode == 429)
        {
            // 执行你的特定操作
        }
    }
}

方法2:自定义枚举映射

你可以自己定义包含429的枚举,通过枚举转换来判断:

// 自定义包含429的枚举
public enum CustomHttpStatusCode
{
    TooManyRequests = 429
}

catch (WebException ex)
{
    if (ex.Response is HttpWebResponse response)
    {
        if (Enum.TryParse<CustomHttpStatusCode>(((int)response.StatusCode).ToString(), out var customCode) 
            && customCode == CustomHttpStatusCode.TooManyRequests)
        {
            // 执行你的特定操作
        }
    }
}

额外说明:也可以结合response.StatusDescription辅助判断(比如检查是否包含"Too Many Requests"),但状态描述可能因服务器实现不同存在差异,因此优先推荐直接使用数值判断,准确性更高。

内容的提问来源于stack exchange,提问作者Sumanth Devadiga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:01:00