Menggunakan jenis ralat tersuai dalam Golang membolehkan anda membuat lebih banyak mesej ralat deskriptif dan boleh diambil tindakan khusus untuk aplikasi anda. Langkah-langkahnya adalah seperti berikut: isytiharkan jenis ralat tersuai dan laksanakan antara muka ralat. Kembalikan ralat tersuai dalam fungsi. Semak ralat menggunakan fungsi errors.Is() atau errors.As(). Pengendalian ralat dan penyahpepijatan boleh dipermudahkan dengan menyesuaikan jenis ralat. Contohnya, dalam fungsi membaca fail, ralat tersuai memberikan maklumat ralat khusus fail.
Di Golang, jenis ralat digunakan untuk mewakili kegagalan operasi atau keadaan tidak normal. Jenis ralat tersuai membolehkan anda membuat lebih banyak mesej ralat deskriptif dan boleh diambil tindakan yang khusus untuk aplikasi anda.
Buat jenis ralat tersuai:
Gunakan kata kunci error
关键字声明自定义错误类型:
type myError struct { message string }
实现 error
接口:
myError
类型必须实现 error
接口,即 Error()
方法:
func (e *myError) Error() string { return e.message }
使用自定义错误类型:
在函数或方法中返回自定义错误:
func myFunc() error { return &myError{message: "some error occurred"} }
处理自定义错误:
使用 errors.Is()
或 errors.As()
err := myFunc() if errors.Is(err, &myError{}) { // 自定义错误处理逻辑 }
Laksana antara muka
error
, iaitu kaedah Error()
: func readFile(path string) error { _, err := ioutil.ReadFile(path) if err != nil { return &myError{message: fmt.Sprintf("could not read file '%s': %v", path, err)} } return nil }
Gunakan jenis ralat tersuai:
Kembali dalam fungsi atau kaedah Ralat tersuai:err := readFile("file.txt") if errors.Is(err, &myError{}) { fmt.Println(err.Error()) }
Mengendalikan ralat tersuai:
🎜🎜Gunakan fungsierrors.Is()
atau errors.As()
untuk menyemak untuk ralat: 🎜could not read file 'file.txt': open file.txt: no such file or directory
Atas ialah kandungan terperinci Bagaimana untuk menggunakan jenis ralat tersuai di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!