gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中为我的整个应用捕获 ArgumentError?

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:43 25 4
gpt4 key购买 nike

环境

  • RAILS 3.1
  • ruby 1.9.1

我已经在 application_controller 中尝试过,但似乎不起作用。

我有什么地方做错了吗?

  rescue_from ArgumentError do |exception|
flash.now[:error] = "Arguments for your request are incorrect"
#ExceptionNotifier::Notifier.background_exception_notification(exception).deliver if Rails.env.production?
redirect_to root_url, :alert => exception.message
end

我正在尝试处理的异常

   A ArgumentError occurred in marketplace#index:

invalid byte sequence in UTF-8
.bundle/gems/ruby/1.9.1/gems/rack-1.4.5/lib/rack/utils.rb:104:in `normalize_params'

A ArgumentError occurred in connect#index:

invalid %-encoding (%u2713)
.bundle/gems/ruby/1.9.1/gems/rack-1.4.5/lib/rack/backports/uri/common_192.rb:46:in `decode_www_form_component'

最佳答案

如果有人还在寻找这个问题的答案,我会引用这个答案 https://stackoverflow.com/a/25842118/697816

application_controller.rb

rescue_from ActionController::RoutingError,带有:-> { render_404 }

添加

rescue_from ArgumentError,使用:-> { render_404 }

这会捕获你所有的ArgumentError

关于ruby-on-rails - 如何在 Rails 中为我的整个应用捕获 ArgumentError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24722176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com