Sobes.tech
Junior — Middle

Aké sú hlavné znaky, ktoré umožňujú určiť príčinu chyby 500 na serveri?

sobes.tech AI

Odpoveď od AI

Chyba 500 (Vnútorná chyba servera) naznačuje problém na strane servera. Hlavné znaky na určenie príčiny:

  • Logy servera: prehliadanie logov (napríklad pomocou balíka log v Go) často ukazuje zásobník volaní a presné miesto chyby.
  • Panic v Go: neovládaný panic vedie k chybe 500. Kontrola kódu na možné paniky a ich ošetrenie pomocou recover pomáha odhaliť príčinu.
  • Chyby v HTTP handleroch: nesprávne zaobchádzanie s dátami, nil ukazovatele, chyby pri práci s databázou.
  • Nesprávna konfigurácia servera alebo závislostí.

Príklad ošetrenia panic v Go:

func handler(w http.ResponseWriter, r *http.Request) {
    defer func() {
        if err := recover(); err != nil {
            http.Error(w, "Vnútorná chyba servera", http.StatusInternalServerError)
            // logovanie chyby
        }
    }()
    // hlavný kód handleru
}