Junior — Middle
Сервердеги 500 ката себептерин аныктоого негизги белгилер кандай?
sobes.tech AI
AIден жооп
500 Ката (Ички сервер катасы) сервер тараптан көйгөйдү көрсөтөт. Себебин аныктоо үчүн негизги белгилер:
- Сервердин журналдары: журналдарды карап чыгуу (мисалы, Goда
logпакети аркылуу) көбүнчө чакыруунун стек жана катанын так жерин көрсөтөт. - Goда panic: көзөмөлсүз panic 500 катасына алып келет. Кодду мүмкүн болгон panicтер үчүн текшерүү жана алардын
recoverаркылуу башкаруу себебин аныктоого жардам берет. - HTTP иштетүүчүлөрдөгү каталар: маалыматтарды туура эмес башкаруу, nil көрсөткүчтөр, маалымат базасы менен иштөөдө каталар.
- Сервердин же көзкарандылыктардын туура эмес конфигурациясы.
Goда panicти башкаруу мисалы:
func handler(w http.ResponseWriter, r *http.Request) {
defer func() {
if err := recover(); err != nil {
http.Error(w, "Ички сервер катасы", http.StatusInternalServerError)
// катаны каттоо
}
}()
// негизги код
}