Junior — Middle
Jaké jsou hlavní znaky umožňující určit příčinu chyby 500 na serveru?
sobes.tech AI
Odpověď od AI
Chyba 500 (Vnitřní chyba serveru) naznačuje problém na straně serveru. Hlavní znaky pro určení příčiny:
- Logy serveru: prohlížení logů (například pomocí balíčku
logv Go) často ukazuje zásobník volání a přesné místo chyby. - Panic v Go: neřízený panic vede k chybě 500. Kontrola kódu na možné paniky a jejich ošetření pomocí
recoverpomáhá odhalit příčinu. - Chyby v HTTP handlerech: nesprávné zacházení s daty, nil ukazatele, chyby při práci s databází.
- Nesprávná konfigurace serveru nebo závislostí.
Příklad ošetření panic v Go:
func handler(w http.ResponseWriter, r *http.Request) {
defer func() {
if err := recover(); err != nil {
http.Error(w, "Vnitřní chyba serveru", http.StatusInternalServerError)
// logování chyby
}
}()
// hlavní kód handleru
}