packagemainimport("fmt""log""net/http")funchandle()http.HandlerFunc{returnfunc(whttp.ResponseWriter,r*http.Request){panic("i am panic")}}funchandlePanic(nexthttp.HandlerFunc)http.HandlerFunc{returnfunc(whttp.ResponseWriter,r*http.Request){deferfunc(){ifi:=recover();i!=nil{log.Printf("panic at %s: %v",r.URL.Path,i)w.WriteHeader(http.StatusInternalServerError)fmt.Fprint(w,http.StatusText(http.StatusInternalServerError))}}()next(w,r)}}funcmain(){http.ListenAndServe(":8000",handlePanic(handle()))}
···
Suka Konten Ini?
Bentuk dukungan apapun saya hargai! Dukung saya melalui Bitcoin, Ko-fi, Trakteer, atau lanjut baca konten saya yang lainnya. Kamu bisa menulis respon lewat Webmention dan beritahu saya URLnya lewat Telegraph.