Mencipta jenis ralat tersuai dalam Go menyediakan mesej ralat yang lebih terperinci. Cipta jenis ralat tersuai: Gunakan antara muka ralat untuk menentukan jenis ralat dan laksanakan kaedah Ralat() untuk mengembalikan mesej ralat. Gunakan jenis ralat tersuai: Gunakan jenis ralat tersuai seperti jenis ralat lain. Contoh praktikal: Operasi membaca fail menggunakan jenis ralat tersuai untuk memberikan butiran laluan fail yang tidak boleh dibaca. Faedah: mesej yang lebih khusus, kebolehselenggaraan yang lebih tinggi, pengendalian yang berbeza bagi ralat yang berbeza. .
Buat jenis ralat tersuai
Untuk mencipta jenis ralat tersuai dalam Go, anda boleh menggunakan antara muka error
:
type MyError struct { msg string } // 实现 error 接口的 Error 方法 func (e MyError) Error() string { return e.msg }
MyError
type melaksanakan Error( )
kaedah, yang mengembalikan mesej ralat. Menggunakan Jenis Ralat Tersuai
Setelah anda mencipta jenis ralat tersuai, anda boleh menggunakannya seperti mana-mana jenis ralat lain:func foo() error { return MyError{"Custom error message"} }
error
接口:
package main import ( "fmt" "io/ioutil" ) type FileReadError struct { path string err error } func (e FileReadError) Error() string { return fmt.Sprintf("Could not read file '%s': %v", e.path, e.err) } func main() { content, err := ioutil.ReadFile("myfile.txt") if err != nil { return fmt.Errorf("ReadFile error: %w", FileReadError{path: "myfile.txt", err: err}) } }
MyError
类型实现了 Error()
方法,该方法返回错误消息。
使用自定义错误类型
一旦创建自定义错误类型,就可以像使用任何其他错误类型一样使用它:
rrreee实战案例
以下是一个使用自定义错误类型的实际示例:
文件读取操作:
rrreee通过使用自定义错误类型 FileReadError
Berikut ialah contoh praktikal menggunakan jenis ralat tersuai :
Operasi Baca Fail:rrreeeDengan menggunakan jenis ralat tersuai FileReadError
kami boleh menyediakan mesej ralat yang lebih terperinci, termasuk laluan fail yang tidak boleh dibaca.
Atas ialah kandungan terperinci Laksanakan jenis ralat tersuai di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!