Filtrer les erreurs de canal rompu
Lorsque vous traitez des connexions réseau, il est courant de rencontrer des erreurs de canal rompu lorsque la connexion est interrompue prématurément. Pour différencier les erreurs de canal cassé des autres types d'erreurs, il est essentiel d'inspecter l'interface d'erreur renvoyée par les opérations d'E/S.
L'erreur de canal cassé est définie comme syscall.EPIPE dans le package syscall. Pour filtrer les erreurs de canal cassé, vous pouvez comparer l'erreur avec syscall.EPIPE en utilisant l'opérateur d'égalité :
<code class="go">if err == syscall.EPIPE { // Handle broken pipe error }</code>
Cette approche vous permet de gérer explicitement les erreurs de canal cassé tout en ignorant les autres types d'erreurs qui peuvent survenir lors de Opérations d'E/S. Il est important de noter que si vous avez besoin d'obtenir le numéro d'erreur réel, vous pouvez utiliser une assertion de type comme suit :
<code class="go">if e, ok := err.(syscall.Errno); ok { errno = uintptr(e) }</code>
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!