Comment distinguer les erreurs de canal cassé dans l'appel io.Copy
Lors de la copie de données d'une source vers une destination à l'aide de io.Copy, vous peut rencontrer une erreur de canal cassé si l'hôte distant arrête brusquement la connexion. Pour différencier ces erreurs des autres, suivez ces étapes :
<code class="go">import "syscall"</code>
Utilisez l'opérateur d'égalité (==) pour comparer l'erreur obtenue à partir de io.Copy à la constante syscall.EPIPE. Cette constante représente l'erreur de tuyau cassé.
<code class="go">if err == syscall.EPIPE { // Ignore the error }</code>
Si vous devez obtenir l'erreur réelle numéro, utilisez une assertion de type pour convertir l'erreur en un type syscall.Errno.
<code class="go">if e, ok := err.(syscall.Errno); ok { errno = uintptr(e) }</code>
En suivant ces étapes, vous pouvez filtrer efficacement les erreurs de tube cassées dans vos appels io.Copy et les gérer de manière appropriée, comme les ignorer ou prendre les mesures nécessaires en fonction de la situation.
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!