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
Barbara Streisandasal
2024-12-14 04:38:10463semak imbas

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")
  1. Kembalikan nilai ralat ini:

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

return errExample
  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
}

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")

Kemudian, gunakan pembolehubah ralat yang dieksport dalam kod anda:

if err == somepackage.ErrExample {
    // handle it
}

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!

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