Pengendalian Ralat Tersuai dalam Pakej HTTP Standard
Dalam pakej HTTP standard Golang, apabila URL yang salah diakses, lalai "404 page tidak dijumpai" biasanya dipaparkan. Untuk menyesuaikan respons ini dan memberikan pengalaman yang lebih mesra pengguna, anda boleh melaksanakan fungsi pengendalian ralat anda sendiri.
Penyelesaian untuk Pakej HTTP Tulen:
Jika anda menggunakan pakej net/http sahaja, anda boleh mencipta fungsi errorHandler khusus:
func errorHandler(w http.ResponseWriter, r *http.Request, status int) { w.WriteHeader(status) if status == http.StatusNotFound { fmt.Fprint(w, "custom 404") } }
Kemudian, anda boleh mendaftarkan pengendali tersuai anda dan errorHandler seperti yang ditunjukkan dalam kod yang disediakan:
http.HandleFunc("/", homeHandler) http.HandleFunc("/smth/", smthHandler) http.ListenAndServe(":12345", nil)
Penyelesaian untuk Penghala Gorilla/Mux:
Jika anda menggunakan penghala gorila/mux, anda boleh memanfaatkan ciri terbina dalamnya untuk mengendalikan senario yang tidak ditemui:
func main() { r := mux.NewRouter() r.NotFoundHandler = http.HandlerFunc(notFound) }
Anda kemudiannya perlu melaksanakan fungsi notFound seperti yang dikehendaki:
func notFound(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) fmt.Fprint(w, "custom 404") }
Pengendalian Ralat Dipertingkat:
Contoh kod yang disediakan menunjukkan pengendalian ralat asas, tetapi anda boleh melanjutkan ini untuk mengendalikan pelbagai ralat HTTP dan lakukan tindakan tambahan, seperti mengelog atau menghantar pemberitahuan.
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Pengendalian Ralat dalam Pakej HTTP Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!