mae*_*ics 11
如评论者所述,go没有断言。
go中可比较的替代方法是内置函数panic(...)
,该函数由条件控制:
if condition {
panic(err)
}
Run Code Online (Sandbox Code Playgroud)
此文章,题为“推迟,恐慌和恢复”也可能是内容丰富。
我实际上使用了一个小助手:
func failIf(err error, msg string) {
if err != nil {
log.Fatalf("error " + msg + ": %v", err)
}
}
Run Code Online (Sandbox Code Playgroud)
然后在使用中:
db, err := sql.Open("mysql", "my_user@/my_database")
defer db.Close()
failIf(err, "connecting to my_database")
Run Code Online (Sandbox Code Playgroud)
失败时会生成:
连接到 my_database 时出错:<来自 MySQL/数据库的错误>
归档时间: |
|
查看次数: |
6361 次 |
最近记录: |