ホームページ > バックエンド開発 > Golang > Go の io.Copy で壊れたパイプ エラーを特定する方法は?

Go の io.Copy で壊れたパイプ エラーを特定する方法は?

DDD
リリース: 2024-11-05 15:11:02
オリジナル
785 人が閲覧しました

How to Identify Broken Pipe Errors in Go's io.Copy?

io.Copy 呼び出しでパイプ破損エラーを区別する方法

io.Copy を使用してソースから宛先にデータをコピーする場合、リモート ホストが接続を突然シャットダウンすると、パイプ破損エラーが発生する可能性があります。このようなエラーを他のエラーと区別するには、次の手順に従います:

  1. syscall パッケージをインポートします:
<code class="go">import "syscall"</code>
ログイン後にコピー
  1. 比較Syscall.EPIPE のエラー:

等価演算子 (==) を使用して、io.Copy から取得したエラーを syscall.EPIPE 定数と比較します。この定数は、パイプ破損エラーを表します。

<code class="go">if err == syscall.EPIPE {
    // Ignore the error
}</code>
ログイン後にコピー
  1. エラー番号の抽出 (オプション):

実際のエラーを取得する必要がある場合

<code class="go">if e, ok := err.(syscall.Errno); ok {
    errno = uintptr(e)
}</code>
ログイン後にコピー

これらの手順に従うことで、io.Copy 呼び出しで壊れたパイプ エラーを効果的に除外し、それらを適切に処理できます。無視するか、状況に応じて必要な行動を取るなど。

以上がGo の io.Copy で壊れたパイプ エラーを特定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート