Comment vérifier spécifiquement les erreurs de délai d'attente
Lorsque vous effectuez des appels de service Web, il est courant de définir des délais d'attente pour gérer les retards ou exceptions potentiels. Cependant, vous devrez parfois déterminer spécifiquement si un délai d'attente s'est produit. Ce guide montre comment y parvenir.
Le code existant fourni gère les délais d'attente pour les opérations de connexion et de lecture/écriture. Pour vérifier spécifiquement les erreurs de délai d'attente, nous pouvons utiliser la fonction error.Is en conjonction avec l'erreur os.ErrDeadlineExceeded.
Selon la documentation du package net :
// If the deadline is exceeded a call to Read or Write or to other // I/O methods will return an error that wraps os.ErrDeadlineExceeded. // This can be tested using errors.Is(err, os.ErrDeadlineExceeded). // The error's Timeout method will return true, but note that there // are other possible errors for which the Timeout method will // return true even if the deadline has not been exceeded.
Cela signifie nous pouvons ajouter la vérification suivante :
if errors.Is(err, os.ErrDeadlineExceeded) { // Handle timeout error }
Alternativement, si vous souhaitez vérifier tout type de délai d'attente, vous pouvez use :
if err, ok := err.(net.Error); ok && err.Timeout() { // Handle timeout error }
En incorporant ces vérifications dans votre code, vous pouvez désormais identifier efficacement les erreurs de délai d'attente et les gérer en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!