救援Twilio :: REST :: RequestError无效

时间:2016-09-04 20:03:42

标签: ruby-on-rails twilio

我一直在尝试在Rails应用程序中实现以下内容,但似乎根本不做任何事情:

rescue Twilio::REST::RequestError => e
    puts e.message

我注意到它只出现在twilio ruby gem的旧文档中,而不是最新的文档中。它不再受支持吗?或者我是否需要以某种方式更改此代码?

当我从Twilio API获取无效数字或其他错误消息时,我尝试使用上述内容,但它不起作用并且只是崩溃了控制器。

以下是我所做的一个例子:

rescue Twilio::REST::RequestError => e
    flash[:error] = e.message

2 个答案:

答案 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

注意:我不会直接向用户报告错误消息。这些消息旨在让开发人员更好地理解这个问题。