如何在Ruby中捕获ArgumentError无效的base64?

时间:2014-01-25 23:58:42

标签: ruby-on-rails ruby exception-handling rescue

如何捕获此异常?

    begin
      data = Base64.strict_decode64(data) # decode data
      ...
    rescue ArgumentError => e
      logger.severe "Could not decrypt data: #{e}, #{data}"

日志

  

ArgumentError(base64无效):     config / application.rb:32:在`decrypt'

1 个答案:

答案 0 :(得分:0)

我意识到我修改了配置/应用程序,这需要重新启动服务器。这很奇怪,因为错误页面显示更新的源代码和指向begin的行号!

我发现我也无法访问logger!这是成品:

    begin
      data = Base64.strict_decode64(data) # decode data
      ...
    rescue ArgumentError => e
      Rails.logger.warn "Could not decrypt data: #{e}, #{data}"
      text = ""
    end