我无法相信这一点尚未在SO上进行过讨论,但有用的问题完成小部件并没有显示出来......
问题是,类似于担心尝试HTTP连接时可能出现的错误,"系统级别"使用ActiveRecord::Base.transaction
时我应该抓住异常吗?我理解捕获由不良数据引起的无效记录和语句;但是,由于我的应用程序逻辑控制之外的原因,数据库连接和/或事务可能会失败的所有方式呢?
答案 0 :(得分:1)
事务的重点是,如果在事务块中的任何一点引发错误,则所有内容都将被还原。所以你不需要检查任何这些。
您当然希望查看所有是否成功或失败,但是您不需要检查块中的单个语句。
除非我完全误解你的问题。