Pengenalan
Pengendalian ralat merupakan aspek penting dalam pembangunan perisian, dan dalam Go, wujud keperluan untuk membezakan antara pelbagai jenis ralat. Artikel ini akan membimbing anda melalui teknik untuk menangkap ralat tertentu, terutamanya yang berkaitan dengan "sambungan terputus" atau "sambungan ditolak."
Memadankan Jenis Ralat Menggunakan ralat.Is dan ralat.As **
Pustaka standard Go menyediakan fungsi yang berkuasa, ralat.Is dan ralat.As, yang membolehkan anda membandingkan ralat berdasarkan jenisnya. Contohnya:
if errors.Is(err, syscall.ECONNREFUSED) { // Do something when it's a "connection refused" error }
Kembali kepada Perbandingan Mesej Ralat
Jika jenis ralat tidak boleh diakses atau tidak menyediakan kaedah perbandingan yang sesuai, anda boleh menggunakan perbandingan mesej ralat sebagai rentetan. Walau bagaimanapun, pendekatan ini kurang dipercayai dan lebih terdedah kepada kerosakan.
Menyemak Ralat Perpustakaan Khusus
Apabila bekerja dengan perpustakaan standard Go, anda boleh merujuk dokumentasi untuk mengenal pasti jenis ralat tertentu yang mungkin dikembalikan. Sebagai contoh, pakej bersih mentakrifkan net.Jenis ralat untuk ralat berkaitan rangkaian. Anda boleh menyemak ralat terhadap jenis ini dan kemudian mengesahkan lagi mesej ralat jika perlu:
if _, ok := err.(net.Error); ok { // Do something with net.Error if err.Error() == "connection lost" { ... } }
Mendapatkan Semua Ralat Yang Mungkin
Untuk mendapatkan senarai komprehensif kemungkinan ralat dikembalikan oleh fungsi perpustakaan standard tertentu, kaedah yang paling boleh dipercayai adalah untuk memeriksa kod sumber. Sebagai alternatif, anda boleh merujuk kepada dokumentasi pustaka.
Kesimpulan
Menangkap ralat tertentu dalam Go boleh dicapai menggunakan ralat.Is dan ralat.Bagi jenis ralat perbandingan, atau dengan membandingkan mesej ralat apabila perlu. Rundingan dokumentasi perpustakaan standard adalah penting untuk memahami jenis ralat yang mungkin berlaku. Teknik ini memperkasakan anda untuk mengendalikan ralat dengan lebih tepat dan memastikan kestabilan aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Menangkap Ralat Khusus dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!