Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membandingkan Mesej Ralat dengan Berkesan dalam Go?

Bagaimana untuk Membandingkan Mesej Ralat dengan Berkesan dalam Go?

Barbara Streisand
Lepaskan: 2024-12-14 04:38:10
asal
461 orang telah melayarinya

How to Effectively Compare Error Messages in Go?

Membandingkan Mesej Ralat dalam Go

Di Java, seseorang boleh mendapatkan semula mesej ralat menggunakan kaedah GetMessage() kelas Exception. Dalam Go, walau bagaimanapun, mesej ralat diakses secara berbeza.

Cara Membandingkan Mesej Ralat

Untuk membandingkan mesej ralat dalam Go, ikut langkah berikut:

  1. Isytihar ralat peringkat pakej pembolehubah:
var errExample = errors.New("this is an example")
Salin selepas log masuk
  1. Kembalikan nilai ralat ini:

Apabila ralat berlaku, kembalikan tahap pakej pembolehubah ralat dan bukannya mesej rentetan tersuai:

return errExample
Salin selepas log masuk
  1. Bandingkan dengan ini value:

Untuk menyemak ralat khusus, anda boleh membandingkan ralat yang dikembalikan dengan pembolehubah ralat peringkat pakej:

if err == errExample {
    // handle it
}
Salin selepas log masuk

Mengendalikan Ralat daripada Pakej Luaran

Jika anda perlu membandingkan ralat daripada pakej luaran, anda boleh mengeksport ralat pembolehubah:

var ErrExample = errors.New("this is an example")
Salin selepas log masuk

Kemudian, gunakan pembolehubah ralat yang dieksport dalam kod anda:

if err == somepackage.ErrExample {
    // handle it
}
Salin selepas log masuk

Elakkan Menggunakan Ralat.Error()

Elakkan membandingkan dengan rentetan yang dikembalikan daripada kaedah Ralat() ralat. Ini boleh menjadikan kod anda rapuh kerana mesej ralat boleh berubah tanpa notis. Sebaliknya, gunakan pendekatan yang disyorkan yang diterangkan di atas.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Mesej Ralat dengan Berkesan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan