看到mailing list里在战,其实也很容易实现啊
func Try(fun func(), handler func(interface{})) {
defer func() {
if err := recover(); err != nil {
handler(err)
}
}()
fun()
}
这样用
func main() {
Try(func() {
panic("foo")
}, func(e interface{}) {
print(e)
})
}