我一直在尝试在Rails应用程序中实现以下内容,但似乎根本不做任何事情:
rescue Twilio::REST::RequestError => e
puts e.message
我注意到它只出现在twilio ruby gem的旧文档中,而不是最新的文档中。它不再受支持吗?或者我是否需要以某种方式更改此代码?
当我从Twilio API获取无效数字或其他错误消息时,我尝试使用上述内容,但它不起作用并且只是崩溃了控制器。
以下是我所做的一个例子:
rescue Twilio::REST::RequestError => e
flash[:error] = e.message
答案 0 :(得分:2)
嗯,这是我的坏事。我没有正确实现该块。我做了以下工作,现在可以使用了:
def create
begin
to_number = message_params
boot_twilio
sms = @client.messages.create(
from: ENV['TWILIO_NUMBER'],
to: to_number,
body: "..."
)
rescue Twilio::REST::RequestError => e
flash[:error] = "..."
else
flash[:notice] = "..."
end
redirect_to path
end
答案 1 :(得分:1)
Twilio开发者传道者在这里。
如果您正在使用v5候选版本,则需要更新您要捕获的错误类。
HTTP请求中引发的错误将是Twilio::REST::RestException
,它继承自更通用的Twilio::REST::TwilioException
。请在此处查看错误类:https://github.com/twilio/twilio-ruby/blob/next-gen/lib/twilio-ruby/framework/exception.rb
注意:我不会直接向用户报告错误消息。这些消息旨在让开发人员更好地理解这个问题。