Sobes.tech
Junior — Middle

Millised on peamised tunnused, mis võimaldavad määrata serveri 500 vea põhjuse?

sobes.tech AI

Vastus AI-lt

Viga 500 (Sise Serveri viga) näitab, et serveri poolel on probleem. Peamised märgid põhjuse määramiseks:

  • Serveri logid: logide ülevaatamine (näiteks kasutades log paketti Go keeles) näitab sageli kutsungite virna ja täpset vea asukohta.
  • Panic Go keeles: käsitlemata panic põhjustab 500 vea. Koodi kontrollimine võimalike panikate jaoks ja nende haldamine recover abil aitab tuvastada põhjuse.
  • HTTP töötlejates vead: andmete vale haldamine, nil viitajad, vead andmebaasiga töötamisel.
  • Serveri või sõltuvuste vale konfiguratsioon. Näide panic'i haldamisest Go keeles:
func handler(w http.ResponseWriter, r *http.Request) {
    defer func() {
        if err := recover(); err != nil {
            http.Error(w, "Sise serveri viga", http.StatusInternalServerError)
            // vea logimine
        }
    }()
    // peamine kood
}