Rumah >pembangunan bahagian belakang >Golang >Jenis ralat fungsi golang tersuai
Ya, anda boleh menentukan jenis ralat tersuai dalam Go dengan mencipta struktur yang melaksanakan antara muka ralat dan menyediakan kaedah Ralat() untuk mengembalikan mesej ralat. Jenis ralat tersuai boleh dibuat menggunakan ralat. Fungsi baharu atau jenis tersuai Dalam amalan, jenis ralat tersuai boleh memberikan mesej ralat yang lebih khusus dan bermakna, meningkatkan kebolehgunaan dan kebolehselenggaraan aplikasi.
Dalam Go, ralat biasanya diwakili melalui antara muka error
接口表示。但是,有时需要定义特定于应用程序的自定义错误类型。本文介绍如何创建自定义错误类型,并提供一个实战案例。
创建自定义错误类型
自定义错误类型可以通过创建实现 error
接口的结构体来实现。
type MyError struct { msg string } func (e *MyError) Error() string { return e.msg }
Error() string
方法返回错误消息,这是 error
接口的一个要求。
用法
自定义错误类型可以使用 errors.New
Buat jenis ralat tersuai
Jenis ralat tersuai boleh dilaksanakan dengan mencipta struktur yang melaksanakan antara muka
err := errors.New("my error message")Kaedah
Error() string
mengembalikan mesej ralat, yang merupakan keperluan antara muka error
. Penggunaan
Jenis ralat tersuai boleh dibuat menggunakan fungsi errors.New
, yang menerima parameter rentetan sebagai mesej ralat.
err := &MyError{msg: "my error message"}Sebagai alternatif, anda boleh membuat ralat menggunakan jenis tersuai:
type InvalidAgeError struct { msg string } func (e *InvalidAgeError) Error() string { return e.msg }Contoh praktikal
Senario:
Sahkan umur yang dimasukkan oleh pengguna.Jenis ralat:
func ValidateAge(age int) error { if age < 18 { return &InvalidAgeError{msg: "年龄必须大于或等于 18"} } return nil }🎜Kod semakan ralat: 🎜🎜
age := 15 err := ValidateAge(age) if err != nil { fmt.Println("错误:", err) } else { fmt.Println("年龄已验证") }🎜🎜Kod pengendalian ralat: 🎜🎜
错误:年龄必须大于或等于 18🎜🎜 Ralat makna tersuai🎜🎜 sediakan lebih banyak jenis mesej yang bermakna: 🎜 s, Ini membantu menambah baik aplikasi kebolehgunaan dan kebolehselenggaraan. 🎜
Atas ialah kandungan terperinci Jenis ralat fungsi golang tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!