在golang里实现类似try...catch..的异常处理机制
看到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)
})
}
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)
})
}