Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk menggunakan jenis ralat tersuai di Golang?

Bagaimana untuk menggunakan jenis ralat tersuai di Golang?

WBOY
Lepaskan: 2024-06-06 10:53:57
asal
1043 orang telah melayarinya

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.

如何在 Golang 中使用自定义错误类型?

Menggunakan jenis ralat tersuai di Golang

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 ralat untuk mengisytiharkan jenis ralat tersuai: error 关键字声明自定义错误类型:

type myError struct {
    message string
}
Salin selepas log masuk

实现 error 接口:

myError 类型必须实现 error 接口,即 Error() 方法:

func (e *myError) Error() string {
    return e.message
}
Salin selepas log masuk

使用自定义错误类型:

在函数或方法中返回自定义错误:

func myFunc() error {
    return &myError{message: "some error occurred"}
}
Salin selepas log masuk

处理自定义错误:

使用 errors.Is()errors.As()

err := myFunc()
if errors.Is(err, &myError{}) {
    // 自定义错误处理逻辑
}
Salin selepas log masuk

Laksana antara muka ralat:

< code> Jenis myError mesti melaksanakan 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
}
Salin selepas log masuk

Gunakan jenis ralat tersuai:

Kembali dalam fungsi atau kaedah Ralat tersuai:

err := readFile("file.txt")
if errors.Is(err, &myError{}) {
    fmt.Println(err.Error())
}
Salin selepas log masuk

Mengendalikan ralat tersuai:

🎜🎜Gunakan fungsi errors.Is() atau errors.As() untuk menyemak untuk ralat: 🎜
could not read file 'file.txt': open file.txt: no such file or directory
Salin selepas log masuk
🎜🎜 Kes praktikal: 🎜🎜🎜Pertimbangkan fungsi membaca fail: 🎜rrreee🎜🎜Penggunaan: 🎜🎜rrreee🎜Output: 🎜, dengan itu anda boleh mencipta mesej ralat yang boleh diperibadikan, dengan itu anda boleh membuat ralat🎜 Permudahkan pengendalian ralat dan penyahpepijatan. 🎜

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan