Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengendalikan Ralat daripada Goroutines dalam Go?

Bagaimana untuk Mengendalikan Ralat daripada Goroutines dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 15:08:021040semak imbas

How to Handle Errors from Goroutines in Go?

Mengembalikan Ralat daripada Goroutines melalui Saluran

Apabila melaksanakan fungsi dalam goroutine, ia menjadi perlu untuk mengendalikan ralat dengan cekap. Dalam Go, fungsi sering mengembalikan nilai dan ralat, seperti yang ditunjukkan oleh fungsi createHashedPassword:

func createHashedPassword(password string) (string, error) {
  // Code
}

Untuk menghantar kedua-dua data dan ralat daripada goroutine, adalah perkara biasa untuk menggunakan saluran. Walau bagaimanapun, persoalan timbul: bagaimanakah kita boleh menangani ralat dengan berkesan?

Penyelesaian terletak pada mencipta struktur data tersuai, seperti struct Hasil, untuk merangkumi output dan ralat:

type Result struct {
    Message string
    Error error
}

Setelah struktur ini ditakrifkan, kami boleh membuat saluran dan menggunakannya untuk komunikasi:

ch := make(chan Result)

Dengan saluran ini tersedia, goroutine boleh menulis objek Hasil yang mengandungi mesej dan ralat, memastikan pengendalian data dan ralat yang cekap antara tugas serentak.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat daripada Goroutines 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