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

升级Twilio C# API后,如何检查消息发送的RestException错误?

新版Twilio C# API错误检查指南

我最近刚处理过类似的升级问题,新版Twilio C# API的错误检查逻辑和旧版确实有很大变化——不再通过响应对象的RestException属性获取错误,而是改用异常捕获的方式来处理。

核心思路

新版API会在请求失败时直接抛出ApiException(属于Twilio.Exceptions命名空间),你只需要在发送消息的代码块外层包裹try-catch,就能捕获并提取所有错误信息,包括状态码、Twilio错误码、详细描述等。

完整代码示例

using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Exceptions;

public class TwilioMessageSender
{
    public void SendMessage()
    {
        // 初始化Twilio客户端
        TwilioClient.Init("你的AccountSID", "你的AuthToken");
        
        try
        {
            // 发送消息
            var message = MessageResource.Create(
                body: "这是一条测试消息",
                from: new Twilio.Types.PhoneNumber("你的Twilio号码"),
                to: new Twilio.Types.PhoneNumber("接收方号码")
            );

            // 发送成功后的逻辑
            System.Console.WriteLine($"消息发送成功,SID: {message.Sid}");
        }
        catch (ApiException ex)
        {
            // 提取并处理错误信息
            System.Console.WriteLine($"HTTP状态码: {ex.StatusCode}");
            System.Console.WriteLine($"Twilio错误码: {ex.Code}");
            System.Console.WriteLine($"错误描述: {ex.Message}");
            System.Console.WriteLine($"详细说明: {ex.MoreInfo}");
        }
    }
}

关键错误属性说明

捕获到的ApiException包含你需要的所有错误细节:

  • StatusCode:HTTP响应状态码(比如401代表身份验证失败,400代表请求参数错误)
  • Code:Twilio自定义的错误码(比如21603表示无效的发送号码,21211表示格式错误的电话号码)
  • Message:简洁的错误描述文本
  • MoreInfo:更详细的错误说明(帮助你定位具体问题)

额外注意事项

  • 确保你安装的是最新版的Twilio NuGet包(v6.x及以上版本都采用这种异常处理方式)
  • 优先捕获ApiException而非通用Exception,这样能更精准地处理Twilio服务相关的错误
  • 所有Twilio API操作(发送消息、创建通话、查询资源等)的错误处理逻辑都是一致的,都可以用这个方式捕获异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:27:13