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!