Sobes.tech
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 log v 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í recover pomá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
}