【发布时间】:2015-02-20 16:43:09
【问题描述】:
堆栈:Ruby 2.2、Rails 4.2 和 Honeybadger。
我一直在为我的网站编写错误处理代码。我注意到错误处理在网站上已经变得一团糟,我一直在寻找一种标准化错误处理的方法。
已发现以下“通用”错误类型:
- 找不到记录/资源
- 保存记录失败
- 验证问题
- 权利/权限错误
- 其他(通常是探测机器人、双击还是 WTF?)
使用以下结果操作。
- 通知错误整理资源(可能)
- 保存数据;如果输入特别长的表单
- 响应:重定向到错误页面 (flash[:error]='?')
- 响应:返回 JSON 字符串(AJAX 请求)
- 响应:各种状态代码 http 3xx、4xx、5xx
- 为开发者定制的消息(可能);在某些情况下相当冗长
- 为用户定制消息
- 默默地什么都不做
然后处理问题
- 回滚
- return(退出操作;不允许进一步操作)
有人知道可以整体处理这些集体问题的 Gem/模块/教程吗?
提前谢谢你!
-丹尼尔
【问题讨论】:
-
类似rubytutorial.io/rails-rescue_from或更具体的东西?
-
@scones rescue_from 处理特定问题,即引发异常。我虽然有抛出异常,但 (Why * Action) 的矩阵意味着要抛出很多异常。
标签: ruby-on-rails ruby-on-rails-4 error-handling