go defer异常处理

分类: C/C++ 发布时间: 2020-02-23 14:59

go中的 defer函数相当于C++ 中的try catch函数,可以捕获到程序异常。go http handleFunc中怎样进行异常捕获呢?

package main
import (
“fmt”
“net/http”
“reflect”
“runtime”
)
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, “Hello!”)
}
func log(h http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
name := runtime.FuncForPC(reflect.ValueOf(h).Pointer()).Name()
fmt.Println(“Handler function called – “ + name)
h(w, r)
}
}
func main() {
server := http.Server{
Addr: “127.0.0.1:8080”,
}
http.HandleFunc(“/hello”, log(hello))
server.ListenAndServe()
}

 

扫描下方二维码,关注业余草微信公众号,回复“FFmpeg”关键词,获取 FFmpeg 视频教程!

关注公众号获取视频教程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!