首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

http服务中应用闭包避免程序崩溃

2013-08-01 
http服务中使用闭包避免程序崩溃func safeHandler(fn http.HandlerFunc) http.HandlerFunc {??? return fu

http服务中使用闭包避免程序崩溃

func safeHandler(fn http.HandlerFunc) http.HandlerFunc {

??? return func(w http.ResponseWriter, r *http.Request) {

??????? defer func() {

?????????? if e, ok := recover().(error); ok {

???????????????? //错误处理

?????????? }

??????? }

??????? fn(w, r)

??? }

}

?

说明:

safeHandler方法接收业务处理函数作为参数,同时调用这个业务处理函数,该业务逻辑处理函数执行完毕后,safeHandler方法中的defer指定的匿名函数就会执行,检测是否有错误

热点排行