我应该在ActiveRecord Transaction块中捕获哪些异常?

时间:2015-05-15 23:29:42

标签: ruby-on-rails activerecord

我无法相信这一点尚未在SO上进行过讨论,但有用的问题完成小部件并没有显示出来......

问题是,类似于担心尝试HTTP连接时可能出现的错误,"系统级别"使用ActiveRecord::Base.transaction时我应该抓住异常吗?我理解捕获由不良数据引起的无效记录和语句;但是,由于我的应用程序逻辑控制之外的原因,数据库连接和/或事务可能会失败的所有方式呢?

1 个答案:

答案 0 :(得分:1)

事务的重点是,如果在事务块中的任何一点引发错误,则所有内容都将被还原。所以你不需要检查任何这些。

您当然希望查看所有是否成功或失败,但是您不需要检查块中的单个语句。

除非我完全误解你的问题。