无论成功或恐慌,我的函数都必须返回一个字符串。
func getDBStoreStatus() string{
var replyMessage string
defer func() string{
if err := recover(); err != nil {
replyMessage = "Error happend."
}
return replyMessage
}()
//do something to store row into DB
db, err := sql.Open("mysql", "user1:password@/databaseName?charset=utf8")
newMessage, err := db.Prepare("INSERT .............
res, err := newMessage.Exec(...........
if err != nil {
panic(err)
}
replyMessage = "OK"
return replyMessage
}
如果延迟部分处理了恐慌,我如何返回一个字符串?您可以看到 defer 部分中的 return 语句无法正常工作。
SMILET
相关分类