升级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
相关产品推荐
相关产品推荐

