Sobes.tech
Junior — Middle

Welke belangrijke kenmerken maken het mogelijk om de oorzaak van fout 500 op de server te bepalen?

sobes.tech AI

Antwoord van AI

Fout 500 (Interne Serverfout) duidt op een probleem aan de kant van de server. De belangrijkste tekenen om de oorzaak te bepalen:

  • Serverlogs: het bekijken van logs (bijvoorbeeld met het log-pakket in Go) toont vaak de call stack en de exacte locatie van de fout.
  • Panic in Go: een onbehandelde panic leidt tot een 500-fout. Het controleren van de code op mogelijke panics en het afhandelen ervan met recover helpt de oorzaak te achterhalen.
  • Fouten in HTTP-handlers: onjuiste gegevensverwerking, nil-zoekers, fouten bij het werken met databases.
  • Onjuiste server- of afhankelijkheidsconfiguratie.

Voorbeeld van panic-afhandeling in Go:

func handler(w http.ResponseWriter, r *http.Request) {
    defer func() {
        if err := recover(); err != nil {
            http.Error(w, "Interne Serverfout", http.StatusInternalServerError)
            // log de fout
        }
    }()
    // hoofdcode van de handler
}