Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya boleh Menangkap Ralat Khusus dalam Go?

Bagaimanakah saya boleh Menangkap Ralat Khusus dalam Go?

DDD
DDDasal
2024-11-06 18:32:031074semak imbas

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
}

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
}

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
}

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!

Kenyataan:
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