Cara Membezakan Ralat Paip Pecah dalam io.Copy Call
Apabila menyalin data daripada sumber ke destinasi menggunakan io.Copy, anda mungkin mengalami ralat paip pecah jika hos jauh mematikan sambungan secara tiba-tiba. Untuk membezakan ralat sedemikian daripada yang lain, ikuti langkah berikut:
<code class="go">import "syscall"</code>
Gunakan operator kesamaan (==) untuk membandingkan ralat yang diperoleh daripada io.Salin ke pemalar syscall.EPIPE. Pemalar ini mewakili ralat paip pecah.
<code class="go">if err == syscall.EPIPE { // Ignore the error }</code>
Jika anda perlu mendapatkan ralat sebenar nombor, gunakan penegasan jenis untuk menukar ralat kepada jenis syscall.Errno.
<code class="go">if e, ok := err.(syscall.Errno); ok { errno = uintptr(e) }</code>
Dengan mengikuti langkah-langkah ini, anda boleh menapis dengan berkesan ralat paip pecah dalam io anda. Salin panggilan dan kendalikannya dengan sewajarnya, seperti mengabaikan mereka atau mengambil tindakan yang perlu berdasarkan situasi.
Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Ralat Paip Pecah dalam io.Copy Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!