Bagaimanakah saya boleh Menangkap Ralat Khusus dalam Go?

DDD
Lepaskan: 2024-11-06 18:32:03
asal
927 orang telah melayarinya

How do I Capture Specific Errors in Go?

Merakam Ralat Khusus dalam Go

Apabila berinteraksi dengan fungsi perpustakaan Go standard yang mengembalikan ralat, ia boleh berguna untuk mengenal pasti dan mengendalikan jenis tertentu ralat, seperti "sambungan terputus" atau "sambungan ditolak." Begini cara untuk mencapainya:

Menggunakan ralat.Is dan ralat.As

Untuk versi Go moden, pendekatan yang disyorkan ialah menggunakan ralat.Is dan ralat. Sebagai fungsi dari perpustakaan standard. Fungsi ini membolehkan anda menyemak sama ada ralat sepadan dengan jenis tertentu atau mengekstrak subset maklumat ralat. Contohnya:

if errors.Is(err, syscall.ECONNREFUSED) {
    // err is a connection refused error
}
Salin selepas log masuk

Rentetan Ralat Memadankan

Jika fungsi pustaka standard tidak menyediakan jenis ralat tertentu, anda boleh membandingkan rentetan ralat:

if err.Error() == "connection lost" {
    // err contains "connection lost" error
}
Salin selepas log masuk

Menyemak Jenis Ralat Tertentu

Sesetengah perpustakaan mungkin mengeksport jenis ralat tertentu yang boleh disemak terus:

if _, ok := err.(net.Error); ok {
    // err is a net.Error instance
}
Salin selepas log masuk

Menentukan Semua Kemungkinan Ralat

Mengenal pasti semua kemungkinan ralat yang dikembalikan oleh fungsi perpustakaan standard memerlukan membaca kod sumber. Sebagai alternatif, anda boleh memeriksa dokumentasi, seperti godoc untuk pakej bersih, di mana ralat sering diterangkan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Menangkap Ralat Khusus dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!