io.Copy 呼び出しでパイプ破損エラーを区別する方法
io.Copy を使用してソースから宛先にデータをコピーする場合、リモート ホストが接続を突然シャットダウンすると、パイプ破損エラーが発生する可能性があります。このようなエラーを他のエラーと区別するには、次の手順に従います:
<code class="go">import "syscall"</code>
等価演算子 (==) を使用して、io.Copy から取得したエラーを syscall.EPIPE 定数と比較します。この定数は、パイプ破損エラーを表します。
<code class="go">if err == syscall.EPIPE { // Ignore the error }</code>
実際のエラーを取得する必要がある場合
<code class="go">if e, ok := err.(syscall.Errno); ok { errno = uintptr(e) }</code>
これらの手順に従うことで、io.Copy 呼び出しで壊れたパイプ エラーを効果的に除外し、それらを適切に処理できます。無視するか、状況に応じて必要な行動を取るなど。
以上がGo の io.Copy で壊れたパイプ エラーを特定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。