【发布时间】:2018-07-25 06:36:15
【问题描述】:
我应该在 redis 多事务的每个步骤中检查错误吗?如果发生错误,是不是说release命令也会返回错误?
例如。我可以:
conn.Do("multi")
conn.Do("set", "mm", "xx")
reply, err := conn.Do("exec")
if err != nil {
....
}
或者,我应该:
_, err := conn.Do("multi")
if err != nil {
....
return
}
_, err := conn.Do("set", "mm", "xx")
if err != nil {
....
return
}
reply, err := conn.Do("exec")
if err != nil {
....
return
}
【问题讨论】:
-
取决于
conn的Do方法的实现。 -
最好不要忽略错误。但是如果你不想每次都写这段代码sn -p。创建一个函数来检查错误。
-
在这种情况下你不能创建辅助函数来检查错误,因为如果有错误你仍然需要返回。