Junior — Middle
Quali sono i principali segni che permettono di determinare la causa dell'errore 500 sul server?
sobes.tech AI
Risposta dell'AI
Errore 500 (Internal Server Error) indica un problema lato server. I principali segnali per determinare la causa:
- Log del server: esaminare i log (ad esempio, con il pacchetto
login Go) mostra spesso lo stack di chiamate e il punto esatto dell'errore. - Panic in Go: un panic non gestito porta a un errore 500. Verificare il codice per eventuali panics e la loro gestione tramite
recoveraiuta a identificare la causa. - Errori negli handler HTTP: gestione errata dei dati, puntatori nil, errori nel lavoro con il database.
- Configurazione errata del server o delle dipendenze.
Esempio di gestione del panic in Go:
func handler(w http.ResponseWriter, r *http.Request) {
defer func() {
if err := recover(); err != nil {
http.Error(w, "Errore Interno del Server", http.StatusInternalServerError)
// log dell'errore
}
}()
// codice principale dell'handler
}