我有一个简单的问题.我有一个连接表,它有一个索引,确保(col 1,col 2)是唯一的.
我正在使用MysqL2 gem添加到该表中,如果尝试导致重复的键错误,我试图捕获MysqL2 :: Error.当我得到重复键错误时,我的救援机构没有被执行.
begin self.foo << bar rescue MysqL2::Error logger.debug("#{$!}") end
执行self.foo<<<<酒吧 MysqL2 :: Error:键’index_foos_bars_on_foo_id_and_bar_id’的重复条目’35455-6628’:INSERT INTO foos_bars(foo_id,bar_id)VALUES(35455,6628) 但是我的救援声明没有被击中!这个例外是不能被成功救出的.我究竟做错了什么?如果我删除MysqL2 :: Error并抢救一切,那么它的工作.但这是不好的做法 – 我只想从MysqL2 :: Error中拯救一次,如果是重复的条目. 谢谢,