gpt4 book ai didi

ruby-on-rails - Exception_Notification 不知道 RecordNotFound 异常

转载 作者:行者123 更新时间:2023-12-05 09:23:42 24 4
gpt4 key购买 nike

我是第一次尝试使用 exception_notification。我观看了 Railscast 并遵循了作者在 http://smartinez87.github.io/exception_notification/ 中的指示。 .除了某些异常(exception)情况外,一切似乎都可以正常工作,但对其他异常(exception)情况则不然。

我测试并收到了来 self 的开发环境的电子邮件错误通知,其中包含诸如 “An ActionView::Template::Error occurred in static_pages#home:”之类的错误。但是,有一些异常,例如 RoutingExceptionRecordNotFound 没有被 ExceptionNotification 捕获,我不知道为什么,因为我没有任何 rescue_from 策略请输入我的 application_controller。

我正在使用 rails 3.2.12 并检查了中间件堆栈数组,我可以看到 ExceptionNotification 只是最后一个,而且似乎某种异常并没有沿着堆栈向下移动,所以 Exception Notification 是不知道他们。

所以,问题是:我做错了什么?未被 ExceptionNotification 捕获的 ActionController::RoutingErrorActiveRecord::RecordNotFoundActionView::Template::Error 之间有什么区别被捕获并导致异常通知将通知电子邮件发送到我的收件箱。

提前致谢

最佳答案

这些异常类型作为该 gem 的默认配置的一部分被忽略。请参阅此处的第 25 行:https://github.com/smartinez87/exception_notification/blob/master/lib/exception_notifier.rb目前是这样写的:

@@ignored_exceptions = %w{ActiveRecord::RecordNotFound AbstractController::ActionNotFound ActionController::RoutingError ActionController::UnknownFormat}

您可以在您的环境文件(即 development.rb 等)中覆盖此行为。

通知所有错误的示例:

config.middleware.use ExceptionNotifier,
ignore_exceptions: []

将 RuntimeError 添加到默认忽略列表的示例:

config.middleware.use ExceptionNotifier,
ignore_exceptions: ExceptionNotifier.default_ignore_exceptions + [RuntimeError]

关于ruby-on-rails - Exception_Notification 不知道 RecordNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339315/

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