Junior — Middle
Quelles sont les principales caractéristiques permettant de déterminer la cause de l'erreur 500 sur le serveur?
sobes.tech IA
Réponse de l'IA
Une erreur 500 (Erreur Interne du Serveur) indique un problème côté serveur. Les principaux signes pour déterminer la cause :
- Journaux du serveur : examiner les journaux (par exemple, avec le paquet
logen Go) montre souvent la pile d'appels et l'emplacement précis de l'erreur. - Panic en Go : un panic non géré conduit à une erreur 500. Vérifier le code pour d'éventuels panics et leur gestion via
recoveraide à identifier la cause. - Erreurs dans les gestionnaires HTTP : mauvaise gestion des données, pointeurs nil, erreurs lors de l'accès à la base de données.
- Configuration incorrecte du serveur ou des dépendances.
Exemple de gestion de panic en Go :
func handler(w http.ResponseWriter, r *http.Request) {
defer func() {
if err := recover(); err != nil {
http.Error(w, "Erreur Interne du Serveur", http.StatusInternalServerError)
// enregistrer err
}
}()
// code principal du gestionnaire
}