C# 如何使用新的Twilio API检查消息错误?
我正在将一些使用旧的Twilio C#API的代码升级到新的API,我不明白在现在发送消息之后,您应该如何检查错误。我看到的所有示例都没有错误检查。所以旧代码是这样的:C# 如何使用新的Twilio API检查消息错误?,c#,twilio,C#,Twilio,我正在将一些使用旧的Twilio C#API的代码升级到新的API,我不明白在现在发送消息之后,您应该如何检查错误。我看到的所有示例都没有错误检查。所以旧代码是这样的: var attemptWithAlphanumericId = client.SendMessage(fromName, to, message); if (attemptWithAlphanumericId.RestException == null) { return !string.Equals(attemptW
var attemptWithAlphanumericId = client.SendMessage(fromName, to, message);
if (attemptWithAlphanumericId.RestException == null)
{
return !string.Equals(attemptWithAlphanumericId.Status, "failed", StringComparison.OrdinalIgnoreCase);
}
if (attemptWithAlphanumericId.RestException.Status == "400"
&& attemptWithAlphanumericId.RestException.Code == "21212")
{
var attemptWithFallbackNumber = client.SendMessage(fallbackNumber, to, message);
if (attemptWithFallbackNumber.RestException == null)
{
return !string.Equals(attemptWithFallbackNumber.Status, "failed", StringComparison.OrdinalIgnoreCase);
}
throw new InvalidOperationException(attemptWithFallbackNumber.RestException.Message);
}
throw new InvalidOperationException(attemptWithAlphanumericId.RestException.Message);
但随着我开始使用的新API样式:
var twilioResponseMessage = MessageResource.Create(
to: new PhoneNumber(to),
from: new PhoneNumber(_from),
body: message
);
。。。响应消息对象上没有
RestException
属性。我该如何检查RestException
的状态和代码?这里是Twilio开发者的福音传道者
恐怕我们没有关于发送短信时捕捉错误的具体文档。不过我可以试着举个例子(我不是一个真正的C#开发者,但如果我错了,我打赌Devin可以纠正我这里的Twilio开发者布道者)
恐怕我们没有关于发送短信时捕捉错误的具体文档。不过我可以试着举个例子(我不是真正的C#开发者,但如果我错了,我打赌Devin可以纠正我这是twilio dev网站上的示例:
{
var message=MessageResource.Create(
正文:“这就是使凯塞尔号以14秒的速度运行的那艘船?”,
发件人:new Twilio.Types.PhoneNumber(“+15017122661”),
收件人:新的Twilio.Types.PhoneNumber(“+15558675310”)
);
Console.WriteLine(message.Sid);
}
捕获(APIE)
{
控制台写入线(e.Message);
WriteLine($“Twilio错误{e.Code}-{e.MoreInfo}”);
}
这是twilio开发网站上的示例:
{
var message=MessageResource.Create(
正文:“这就是使凯塞尔号以14秒的速度运行的那艘船?”,
发件人:new Twilio.Types.PhoneNumber(“+15017122661”),
收件人:新的Twilio.Types.PhoneNumber(“+15558675310”)
);
Console.WriteLine(message.Sid);
}
捕获(APIE)
{
控制台写入线(e.Message);
WriteLine($“Twilio错误{e.Code}-{e.MoreInfo}”);
}
新库将引发一个TwilioException,您可以在try/catch块中捕获该异常。是否有关于该异常的文档链接?我现在有:)我们今天刚刚添加了这些。很抱歉,以前没有,这肯定是我们的疏忽。新库将引发TwilioException,您可以在try/catch块中捕获它。有关于该文档的链接吗?我现在有:)我们今天刚刚添加了这些。对不起,以前没有,这绝对是我们的疏忽。我想弄清楚的是,以前做过的事情的新等价物。在此之前,它显然是在检查HTTP 400,然后检查RestException.code
,然后再检查Status
是否“失败”。我不确定新API会是什么样子。您检查400错误是因为您试图查看是否需要在不使用字母数字ID的情况下重试。我已经用我认为最好的方法更新了我的答案。@philnash快速入门不再有try/catch示例:(@BarryMSIH你说得对,这里有一个关于处理错误的部分:我想弄清楚的是,以前做过的事情的新等价物。之前,它显然是检查HTTP 400,然后检查RestException.code
,然后检查状态
是否“失败”。我不确定新API会是什么样子。您正在检查400错误,因为您试图查看是否需要在不使用字母数字ID的情况下重试。我已经用我认为最好的方法更新了我的答案。@philnash快速入门不再有try/catch示例:(@BarryMSIH你说得对,这里有一个关于处理错误的部分: